我有一个Blazor WebAssembly托管应用程序。我的意图是对一些网站使用服务器,对其余的WebAssembly页面使用服务器,这样它们就可以离线运行。
我有一个关于服务器端的简单问题。
我有以下内容:
Pages/_Layout.cs.html
Pages/Index.cshtml
Packages/Components\MyComponent.razor
/页面/_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="/lib/twitter-bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<base href="~/" />
</head>
<body>
<div>
The Layout Header
WHAT MAGIC GOES HERE TO INSERT MyComponent.razor
</div>
<div class="m-2">
@RenderBody()
</div>
<script src="_framework/blazor.server.js"></script>
</body>
</html>
/Pages/Index.chtml
@page
@model MyApp.Server.Pages.IndexModel
@{
}
<h1>Index Page</h1>
/Pages/Components/MyComponent.razor
<h3>My Component</h3>
我的输出是:
布局标题
索引页
我想要:
布局标题
我的组件
索引页
如何将剃刀组件添加到我的_Layout.cshtml页面?
您的_Layout.cshtml page
是Razor Pages
页面,对吗?因此,您可以使用组件Html标记在Razor Pages页面中呈现Blzor组件,类似于以下内容:
<div>
The Layout Header
WHAT MAGIC GOES HERE TO INSERT MyComponent.razor
<component type="typeof(MyComponent)" render-
mode="ServerPrerendered" />
</div>
请注意,以上内容要求您设置一些配置以使其工作。