我开始使用 Blazor 服务器端,但我没有得到正确的路由.我不明白 _host.cshtml 中需要 base 标记.如果我仍然需要在每个 Blazor 组件中添加 base url,例如:我想要一个 /app/ 的基地址和 @page<值为 "/counter" 的示例 Counter 的/code> 指令不会编译"为 "/app/counter".我必须将 @page 设置为 "/app/counter" 这很有意义,但这意味着 _host 中的 没用...base 标记.cshtml
我在这里做错了什么?
<base href='' > 是一个
I am getting started with Blazor server-side and I don't get the routing right. I don't understand the need for the base tag in _host.cshtml. If I still have to add the base url in every Blazor component, for example: I want to have a base address of /app/ and the @page directive for the example Counter with a value of "/counter" does not "compile" to "/app/counter". I have to set the @page to "/app/counter" which makes sense but that means that the base Tag in _host.cshtml is useless...
What am I getting wrong here?
The <base href='' > is a client side technology that specifies the base URL for all relative URLs in current document. Many SPA frameworks , e.g. Angular, will use this element.
I have to set the @page to "/app/counter"
Actually, you don't have to and should never do that. One of the most important advantages when using <base> is that it allows us to create an app without letting the components know about the base url.
Assuming you've changed the base href from '/' to '/app/', and also changed the other relative urls:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BlazorApp</title>
<base href="/app/" />
<link rel="stylesheet" href="/css/bootstrap/bootstrap.min.css" />
<link href="/css/site.css" rel="stylesheet" />
</head>
<body>
<app>
@(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))
</app>
<script src="/_framework/blazor.server.js"></script>
</body>
</html>
Don't forget to prepend the default Blazor Hub url with a /app/ :
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub("/app/_blazor");
endpoints.MapFallbackToPage("/_Host");
});
That's all. There's no need to change the routes from @page "/counter" to @page "/app/counter" at all.
Here's a demo that we don't change the @page routes for components:
这篇关于.razor 文件中的 Blazor 基本标记和 @page 指令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
ASP.NET Core 使用 Azure Active Directory 进行身份验证并ASP.NET Core authenticating with Azure Active Directory and persisting custom Claims across requests(ASP.NET Core 使用 Azure Active Directory 进行身
ASP.NET Core 2.0 Web API Azure Ad v2 令牌授权不起作用ASP.NET Core 2.0 Web API Azure Ad v2 Token Authorization not working(ASP.NET Core 2.0 Web API Azure Ad v2 令牌授权不起作用)
ASP Core Azure Active Directory 登录使用角色ASP Core Azure Active Directory Login use roles(ASP Core Azure Active Directory 登录使用角色)
如何获取守护进程或服务器到 C# ASP.NET Web API 的How do I get Azure AD OAuth2 Access Token and Refresh token for Daemon or Server to C# ASP.NET Web API(如何获取守护进程或服务器到 C# ASP.N
.Net Core 2.0 - 获取 AAD 访问令牌以与 Microsoft Graph.Net Core 2.0 - Get AAD access token to use with Microsoft Graph(.Net Core 2.0 - 获取 AAD 访问令牌以与 Microsoft Graph 一起使用)
异步调用时 Azure KeyVault Active Directory AcquireTokenAAzure KeyVault Active Directory AcquireTokenAsync timeout when called asynchronously(异步调用时 Azure KeyVault Active Directory AcquireTokenAsync 超