【发布时间】:2010-11-13 05:32:34
【问题描述】:
我有一个 asp.net mvc 1.0 站点,它提供来自 2 级层次结构的一些内容 /类别/文章
当一切正常时,文章会映射到视图并呈现视图。但是,当 url 满足路由条件但视图不存在时,会引发我无法在 Controller 操作中捕获的异常。
路由:
routes.MapRoute(
"Article",
"{category}/{article}.aspx",
new { controller = "MyController", action = "Article" }
);
MyController 动作:
public ActionResult Article(string category, string article)
{
string path = string.Format("~/Views/{0}/{1}.aspx", category, article);
ViewResult vr = View(path);
return vr;
}
但是,当未找到视图时,会生成一个 System.InvalidOperationException,我无法在 Controller Action 中捕获。
异常详细信息:System.InvalidOperationException:视图 '~/Views/my-category/my-article-with-long-name.aspx' 或其主人 找不到。搜索了以下位置: ~/Views/my-category/my-article-with-long-name.aspx
我可以在global.asax.cs 中捕获Application_Error() 方法中的错误,但是:
- 不知道如何从那里重定向到错误视图
- 想知道是否有更好的地方靠近异常发生的地方 提出。
【问题讨论】:
标签: c# asp.net-mvc