MVC重定向到没有控制器的视图

希望应该是一个简单的。 我创建了一个通用错误视图,我希望在整个站点的操作方法内发生exception时显示该视图。 我已创建了一个部分页面,其中所有导航都存在,因此我不需要此视图上的控制器,因此如何从控制器内的操作方法重定向到它?

这样的东西……

[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"); } } 

提前致谢

你可以使用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"); } 

您需要为错误视图创建控制器和路径。

另一种方法是使您的错误视图成为一个普通的html页面,并像这样重定向到它:

 return Redirect("~/error.html"); 

我发现本指南在其他MVC应用程序上设置自定义错误时非常有用: http : //benfoster.io/blog/aspnet-mvc-custom-error-pages

希望这可以帮助。