asp.net-core - 如何使用“剃须刀页面”Error.cshtml 设置 app.UseExceptionHandler?
问题描述
我试图用我自己创建的 Error2.cshtml razor page替换默认的 MVC 错误页面 Error.cshtml ,但这不起作用:错误 404。
我应该在路由中额外配置什么以使其正常工作?
启动.cs
app.UseExceptionHandler("/Home/Error2"); // new razor page is located in standard /Views/Shared folder
错误2模型
namespace MyApp.Views.Shared
{
public class Error2Model : PageModel
{
public IActionResult OnGet() // this looks unreliable but what to use instead?
{
//...
}
}
}
解决方案
参考ASP.NET Core 中的句柄错误:配置自定义异常处理页面
配置应用程序未在开发环境中运行时使用的异常处理程序页面:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
env.EnvironmentName = EnvironmentName.Production;
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/error");
}
在 Razor Pages 应用程序中,
dotnet new
Razor Pages 模板在文件夹中提供一个Error
页面和一个错误PageModel
类。Pages
在您的情况下,您可以将其设置为
app.UseExceptionHandler("/error2");
应该放在Pages/Error2.cshtml
更新其PageModel
namespace MyApp.Pages {
public class Error2Model : PageModel {
public IActionResult OnGet() {
//...
return Page();
}
}
}
推荐阅读
- orientdb - 无法在 Windows 中将 Orientdb 作为服务启动
- python - 尝试使用 Selenium-Python 选择菜单时出错
- json - 如何在 Flutter 中使用 http.post 并作为 String Json 对象发送
- python - 从网络驱动器复制所有文件
- linux - 我将如何在 Windows CMD 上执行此操作?
- powerbi - 我如何计算前一天的平均价格,按组过滤?
- r - 不带前导零的日期格式 - R
- mysql - 如何一次性将 40 亿条记录从 MySQL 加载到 SQL Server
- http - 如何检查cookie是否过期
- javascript - Creating a reusable JS file - Import - export not working