我有一個asp.net MVC 1.0站點當一切工作的權利文章映射到一個視圖,該視圖獲取呈現,供應從2級層次 /分類/文章如何在asp.net mvc中處理'View not found'InvalidOperationException?
一些內容。但是,當url滿足路由條件但視圖不存在時,會引發異常,導致無法捕獲控制器操作。
路由:
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
產生,我不能在控制器動作趕上。
異常詳細信息:System.InvalidOperationException:視圖 「〜/查看/我的類別/我 - 文章與 - 長name.aspx」或它的主人 找不到。以下地點搜索: 〜/查看/我的類別/我 - 文章與 - 長name.aspx
我就能夠在Application_Error()
方法的錯誤global.asax.cs
但:
- 不知道如何重定向到從那裏的錯誤視圖
- 想知道是否有更好的地方更接近於異常是 引發的地方。
我試過了,喜歡這個解決方案。唯一的問題是,如果你由於不同的原因而得到一個InvalidOperationException異常,它將導致404錯誤。當嘗試序列化某些東西時,會出現這樣的異常。 – Bealer 2011-11-04 05:55:15