Server.Transfer 无法呈现 MVC 视图
在我的 Application_Error 事件处理程序中,我想呈现 404 的 MVC 视图。由于 SEO,我不想重定向。
void Application_Error(...)
{
if (serverException is HttpException && ((HttpException)serverException).GetHttpCode() == 404)
{
Server.Transfer("/error/404"); //*
}
}
//* 失败,因为它无法在磁盘上找到路径。当然不是,因为它应该由 MVC 处理。
如何从 Application_Error 渲染 MVC 视图?
我不想重定向。
In my Application_Error event handler i want to render an MVC-View for 404. I do not want to redirect because of SEO.
void Application_Error(...)
{
if (serverException is HttpException && ((HttpException)serverException).GetHttpCode() == 404)
{
Server.Transfer("/error/404"); //*
}
}
//* Fails, because it cannot find the path on disk. Of course not because it should be handled by MVC.
How to render an MVC-View from Application_Error?
I do not want to redirect.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只是不要使用 Application_Error 来处理 404 错误。定义捕获所有路由:与
其他路由不匹配的请求将由
Error
控制器的Http404
操作进行处理。Just don't use Application_Error to handle 404 errors. Define a catch all route:
A request that doesn't match another route will be handled by the
Http404
action of theError
controller.