2010-01-05 38 views
3

我在我的ASP.NET MVC應用程序中有一個自定義的Error.aspx頁面。錯誤頁面使用母版頁(又使用另一個母版頁),並在母版頁有到的HtmlHelper的電話:HtmlHelper爲null Error.aspx母版頁

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Unsecure.Master" ... %> 
... 
Html.RenderPartial("LogOnUserControl") 

我的web.config被設置爲使用此錯誤頁面的所有錯誤:

<customErrors mode="RemoteOnly" defaultRedirect="/Views/Shared/Error.aspx" /> 

問題在於ViewMasterPage的Html屬性爲null。我的理解是,該屬性只是從ViewPage的Html屬性中提取的,該屬性也是null。因此,任何針對HtmlHelper調用部分方法的嘗試都會失敗,並帶有NullReferenceException。

爲什麼HtmlHelper爲空?

+0

問題解決了嗎?我面臨同樣的問題:( – 2015-10-14 06:37:40

+0

可悲的是,我不記得,很久以前,我不再爲這個項目工作,我是一個糟糕的SO貢獻者:-( – Trinition 2015-10-15 14:23:41

回答

0

貴母版頁面指令看起來像這樣:

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> 

沒有繼承屬性的Html *不存在。

+1

此外,defaultRedirect應該與你的路由而不是直接指向查看文件 mark123 2010-01-06 14:26:55

+1

馬克,這是一個我正在往下走的路徑我的猜測是,它是MVC框架在頁面上的HtmlHelper上設置,以便不通過控制器,但直接打ASPX直接跳過這一步。然而,同時,一個同事簡單地使我們的ASPX頁「dumber」(在我看來,這是一個對於一個全面的錯誤頁面來說是好事) – Trinition 2010-01-06 18:50:57

+1

而且,FWIW,我的母版頁繼承自ViewMasterPage。 – Trinition 2010-01-06 18:51:41