希望应该是一个简单的。我创建了一个通用错误视图,我希望在整个站点的操作方法内发生异常时显示该视图。我创建了一个部分页面,其中所有导航都存在,因此我不需要此视图上的控制器,那么如何从控制器内的操作方法重定向到它?
像这样......
[HttpPost]
public ActionResult Test(VM viewModel)
{
try
{
// posting info to the server...
}
catch (Exception ex)
{
//Log exception..
//show an error view, however no action method so how do I redirect?
return RedirectTo ??? ("Error");
}
}
提前致谢
答案 0 :(得分:5)
您可以使用return View()
这告诉MVC生成要为指定视图显示的HTML并将其发送到浏览器。这与Asp.Net WebForm 中的Server.Transfer()
类似。
{
//Log exception..
//show an error view, however no action method so how do I redirect?
return View("your view path");
}
答案 1 :(得分:4)
您需要为错误视图创建控制器和路径。
另一种方法是让你的错误视图成为一个简单的html页面,然后像这样重定向到它:
return Redirect("~/error.html");
我发现本指南在其他MVC应用程序上设置自定义错误时非常有用:http://benfoster.io/blog/aspnet-mvc-custom-error-pages
希望这有帮助。