ASP.NET主页面未加载

时间:2014-09-25 20:56:44

标签: asp.net master-pages

我有一个网站给我以下错误:

  

仅在引用a的内容页面中允许内容控件   母版页。

以下是它尝试加载的文件的内容:

<%@ Page Language="c#" MasterPageFile="~/shared/templates/Default.master" %>
<asp:Content ID="PageContent" runat="server" ContentPlaceHolderID="PageContentPlaceHolder" />

Default.master确实存在于请求的位置,并且包含:

<asp:ContentPlaceHolder runat="Server" ID="PageContentPlaceHolder" />

为什么子页面无法识别/加载母版页?

谢谢!


UPDATE - 这是堆栈跟踪和.NET版本信息:

[HttpException (0x80004005): Content controls are allowed only in content page that references a master page.]
   System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection) +11119902
   System.Web.UI.Page.get_Master() +69
   System.Web.UI.Page.ApplyMasterPage() +18
   System.Web.UI.Page.PerformPreInit() +58
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1256
  

版本信息:Microsoft .NET Framework版本:2.0.50727.5485;   ASP.NET版本:2.0.50727.5483

3 个答案:

答案 0 :(得分:0)

母版页应与页面位于同一IIS应用程序中。

答案 1 :(得分:0)

用于您拥有的内容页面

<asp:Content ID="PageContent" runat="server" ContentPlaceHolderID="PageContentPlaceHolder" />

你编辑过这个还是确切的?也许它需要一个完全封闭的标签?

<asp:Content ID="PageContent" runat="server" ContentPlaceHolderID="PageContentPlaceHolder">
    content
</asp:Content>

答案 2 :(得分:0)

感谢大家的帮助,但最终证明没有人能够用我提供的信息解决这个问题。我没有写这段代码,但我坚持维护它,这是我第一次见到这个网站。

事实证明,在web.config中,有一个类被定义为所有页面的基本类型。这个类根据数据库查询的结果覆盖了MasterPageFile属性,在这种情况下,数据库查询返回一个空结果。

所以,我会在这里发布这个答案,以防任何人遇到似乎不可能的事情 - 特别是在维护遗留代码时。检查web.config。