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
希望这可以帮助。