gpt4 book ai didi

asp.net-mvc - 无法访问 ASP.NET Core 3.0 自定义错误页面

转载 作者:行者123 更新时间:2023-12-03 08:40:02 24 4
gpt4 key购买 nike

我创建了一个简单的 error.cshtml Pages 中的 Razor 页面文件夹。 Pages文件夹与 Views 处于同一级别文件夹,所以它处于正确的级别。
Error.cshtml页面类似于此处显示的标记和代码:

@page
<h2>Sorry... Try again later...</h2>

Startup.cs我有以下代码
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}

//app.UseDefaultFiles();
app.UseStaticFiles();
app.UseNodeModules();

app.UseRouting();

app.UseEndpoints(cfg => {
cfg.MapControllerRoute("Fallback", "{controller}/{action}/{id?}",
new { controller = "App", action = "Index" });
});
}

我确保 env 不是 Development环境所以它调用 app.UseExceptionHandler("/Error") .但是,当抛出异常时,我会收到 HTTP ERROR 404“找不到本地主机页面”消息,而不是收到我的自定义错误页面。

我不确定为什么我的错误页面没有加载。任何帮助表示赞赏。

最佳答案

根据您的描述,我发现您没有添加 Razor 页面的端点映射设置。这就是您遇到 404 错误的原因。
我建议您可以尝试添加 endpoints.MapRazorPages();app.UseEndpoints 方法,然后它会很好地工作。
具体可以引用以下代码:

        app.UseEndpoints(endpoints =>
{

endpoints.MapRazorPages();
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Default}/{action=Index}/{id?}");

});
如果你不注入(inject) Razor 页面,你还应该在 ConfigureServices 方法中添加以下代码:
        services.AddRazorPages();
结果:
enter image description here

关于asp.net-mvc - 无法访问 ASP.NET Core 3.0 自定义错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62457778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com