Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net HtmlHelper在Error.aspx母版页中为空_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.net HtmlHelper在Error.aspx母版页中为空

Asp.net HtmlHelper在Error.aspx母版页中为空,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我的ASP.NET MVC应用程序中有一个自定义的Error.aspx页面。错误页面使用母版页(母版页反过来使用另一个母版页),母版页中有一个对HtmlHelper的调用: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Unsecure.Master" ... %> ... Html.RenderPartial("LogOnUserControl") ... Html.RenderPartial(“LogOnUserC

我的ASP.NET MVC应用程序中有一个自定义的Error.aspx页面。错误页面使用母版页(母版页反过来使用另一个母版页),母版页中有一个对HtmlHelper的调用:

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

...
Html.RenderPartial(“LogOnUserControl”)
My web.config设置为对所有错误使用此错误页:

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

问题在于ViewMasterPage的Html属性为空。我的理解是,这个属性只是从ViewPage的Html属性中提取出来的,该属性也是空的。因此,对HtmlHelper调用分部方法的任何尝试都会失败,并出现NullReferenceException


为什么HtmlHelper为空?

您的母版页指令如下所示:

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


如果没有Inherits属性,则Html.*不存在。

此外,defaultRedirect应该与路由一起工作,而不是直接指向视图文件。马克,这是我要走的一条路。我猜是MVC框架在页面的HtmlHelper上设置的,因此不通过控制器而是直接点击ASPX就可以绕过该步骤。然而,与此同时,一位同事简单地将我们的ASPX页面设置为“dumber”(在我看来,这对于一个全面错误页面是一件好事)。而且,FWIW,我的母版页确实继承了ViewMasterPage。问题解决了吗?我也面临同样的问题:(遗憾的是,我不记得了。那是很久以前的事了,我不再从事那个项目了。我是一个糟糕的贡献者:-(