Hir*_*ndo 5 c# razor asp.net-core blazor blazor-server-side
在我的 Blazor 项目中,我使用两个_Host.cshtml
文件。第一个是默认_Host.cshtml
文件。另一种用于授予对特定.razor
页面的匿名登录访问权限。假设匿名剃刀页面是x.razor
。
X.剃刀
@page '\PublicRazor\x'
...
Run Code Online (Sandbox Code Playgroud)
第一个场景
我将在不登录的情况下访问
x.razor
页面。在这种情况下,中的所有功能都x.razor
不起作用(例如按钮单击、表单验证)。当我检查开发者控制台时,我看到了这个
第二个场景
x.razor
登录 blazor 应用程序后我将转到页面。在这种情况下,所有功能都x.razor
可以正常工作。并且开发者控制台没有任何错误。
为什么会发生这种情况?如何使x.razor
所有功能进入工作状态?
默认_Host.cshtml
@page "/"
@using Microsoft.AspNetCore.Authorization
@namespace has.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@attribute [Authorize]
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>has</title>
<base href="~/" />
<link href="_content/Blazor.ContextMenu/blazorContextMenu.min.css" rel="stylesheet" />
<script src="~/js/site.js"></script>
</head>
<body>
<app>
<component type="typeof(App)" render-mode="Server" />
</app>
<script src="_framework/blazor.server.js"></script>
<script src="_content/Blazor.ContextMenu/blazorContextMenu.min.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
其他_Host.cshtml(用于给予匿名访问x.razor
)
@page "/publicrazor"
@using Microsoft.AspNetCore.Authorization
@namespace has.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@attribute [AllowAnonymous]
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>has</title>
<base href="~/publicrazor" />
<link href="_content/Blazor.ContextMenu/blazorContextMenu.min.css" rel="stylesheet" />
<script src="~/js/site.js"></script>
</head>
<body>
<app>
<component type="typeof(PublicApp)" render-mode="ServerPrerendered" />
</app>
<script src="_framework/blazor.server.js"></script>
<script src="_content/Blazor.ContextMenu/blazorContextMenu.min.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
启动.cs
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapFallbackToPage("~/PublicRazor/{**segment}", "/PublicRazor/_Host");
});
Run Code Online (Sandbox Code Playgroud)
小智 0
如上所述,该错误并不是有趣的错误。为了找到有趣的错误,您必须打开DetailedErrors
并且可以在appsettings.Development.json
文件中执行此操作。
{
"DetailedErrors": true,
... the rest of your settings here
}
Run Code Online (Sandbox Code Playgroud)
一旦您打开此功能并重新启动应用程序,浏览器控制台应该会显示触发此模糊错误的根本原因错误。
归档时间: |
|
查看次数: |
8836 次 |
最近记录: |