ContentPlaceHolder不受支持

时间:2013-08-13 06:29:58

标签: asp.net visual-studio-2010

这是我的ASPX文件

<%@ Page Title="Extra Virgin Olive Oil From Argos" Language="VB" MasterPageFile="~/Production.master"
    AutoEventWireup="false" CodeFile="acova.aspx.vb"  Inherits="pages_products_evoo_acova" %>
    <asp:Content ContentPlaceHolderID="head2" runat="server" ID="Contnet0">
        <script type="text/javascript">

        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-32158435-1']);
        _gaq.push(['_trackPageview']);

        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();

</script>

</asp:Content>
<asp:Content ContentPlaceHolderID="LeftHolder2" runat="server" ID="Content2">
    <%= IO.File.ReadAllText(Server.MapPath("../../../pages/announce/AdSense01.htm"))%>
</asp:Content>
<asp:Content  ContentPlaceHolderID="RightHolder2" runat="server" ID="Content3">
    <%= IO.File.ReadAllText(Server.MapPath("../../../pages/announce/GoogleAdd.htm"))%>
</asp:Content>
<asp:Content  ContentPlaceHolderID="ContentCenter" Runat="Server" ID="Content1"> 
    <!--   START Code Here    -->
    <!-- <div id="Div1" class=" Style_Center" runat="server"> -->
        <asp:Panel ID="Panel6" runat="server" class="PanelStyle3" ScrollBars="Vertical"> 

在这个位置,asp:Content ...和asp:panel ....产生错误

  

元素“不支持ContentPlaceHolder

当我开始使用Visual Studio 2010时,这个错误并非从一开始。我看到几个月以前,我没有注意,因为evrything工作得很好。 但现在非常吵闹,我想消除。

这是在MaterPage.master文件

下的Production.Master文件
    <%@ Master  Language="VB" MasterPageFile="~/MasterPage.master" %>

<asp:Content ContentPlaceHolderID="head" ID="Content0" runat="server">
    <asp:ContentPlaceHolder  EnableViewState="true" ID="head2" runat="server">
</asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ContentPlaceHolderID="ButtonsPH" ID="Content1" runat="server">

    <!--  Buttons  -->
    <div  id="tabsF">
     <h3>
            <a id="A1" href="~/Default.aspx" runat="server" target='_parent'><span>Home</span></a>

</h3>
                </div>

    <!-- END Buttons -->
</asp:Content>

现在这里的第一个内容在没有验证错误的情况下工作,但第二个内容给出了此验证错误。 左侧和右侧持有者位于MaserPage.maser文件中 在MasterPage.master文件中也是如此

2 个答案:

答案 0 :(得分:0)

父母版页应定义<asp:ContentPlaceholder>控件。这些内容占位符控件应该由子母版页中的相应<asp:Content>控件引用。

如果子母版页依次定义任何<asp:ContentPlaceholder>控件,那么引用子母版页的ASPX页面将需要引用具有相应<asp:content>控件的内容占位符。

<强> Parent.master

<asp:ContentPlaceHolder ID="MainContent" runat="server" />

<强> Child.master

<asp:Content id="Content1" ContentPlaceholderID="MainContent" runat="server">
...
<asp:ContentPlaceHolder ID="ChildContent1" runat="server" />

<强> Default.aspx的

<asp:Content id="Content1" ContentPlaceholderID="ChildContent1" runat="server">
   <p>Text goes here</p>
</asp:Content>

一个完整的例子是here

对于您的示例,请确保为<asp:ContentPlaceholder>控件定义<asp:content>个控件,其中ContentPlaceHolderID值为“head”和“ButtonsPH”。

在您的ASPX文件中,您引用的<asp:content>控件的ContentPlaceHolderID值为“LeftHolder2”,“RightHolder2”和“ContentCenter”,但在Production.master中没有定义相应的<asp:ContentPlaceholder>控件。

答案 1 :(得分:0)

我只是提出了另一个更详细的问题,从那里我得到了答案