2014-07-05 90 views
0

每次我建立我MasterPage.master.aspx,我得到一條錯誤:如何解決錯誤「類型‘MasterPage2’已經包含了‘頭’的定義」

類型'MasterPage2'已經包含'head'的定義

此錯誤對我的MasterPage.master.cs文件中的所有受保護值都會顯示。我該如何解決這個錯誤?

下面是我的母版頁標題:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage2" %> 

這裏是我的MasterPage.master.cs代碼:

using System; 
using System.Web; 
using System.Web.Profile; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 

public partial class MasterPage2 : System.Web.UI.MasterPage 
{ 

    protected ContentPlaceHolder head; 
    protected HtmlAnchor A1; 
    protected HtmlAnchor A2; 
    protected HtmlAnchor A9; 
    protected SiteMapDataSource SiteMapDataSource1; 
    protected Menu MainMenu; 
    protected HtmlAnchor home; 
    protected HtmlAnchor A3; 
    protected HtmlAnchor A4; 
    protected HtmlAnchor A5; 
    protected HtmlAnchor A6; 
    protected HtmlAnchor A7; 
    protected HtmlAnchor A8; 
    protected HtmlGenericControl submenu; 
    protected ScriptManager ScriptManager1; 
    protected LoginName LoginName1; 
    protected Literal litbal; 
    protected Literal litdate; 
    protected UpdatePanel up12; 
    protected ContentPlaceHolder content1; 
    protected ContentPlaceHolder ContentPlaceHolder2; 
    protected ContentPlaceHolder ContentPlaceHolder3; 
    protected ContentPlaceHolder ContentPlaceHolder4; 
    protected Label lblCreatedBy; 
    protected ContentPlaceHolder ContentPlaceHolder1; 
    protected HtmlForm form1; 
    protected DefaultProfile Profile 
    { 
     get 
     { 
      return (DefaultProfile)this.Context.Profile; 
     } 
    } 

    protected HttpApplication ApplicationInstance 
    { 
     get 
     { 
      return this.Context.ApplicationInstance; 
     } 
    } 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     this.litdate.Text = DateTime.Now.ToString("D"); 
     if (((object)this.Page.User.Identity.Name).ToString() != "") 
      this.litbal.Text = DB.ExecuteScaler(string.Format("Select Agent_current_bal from AgentBasicInfo where Agent_ID='{0}'", (object)((object)this.Page.User.Identity.Name).ToString().ToLower())).ToString(); 
     else 
      this.up12.Visible = false; 
     this.submenu.Visible = ((object)this.Page.User.Identity.Name).ToString() == "admin"; 
     this.lblCreatedBy.Text = "Created By: otieno t oloo"; 
    } 
} 

下面,這裏是我MasterPage.master.aspx代碼:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage2" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Untitled Page</title> 
    <link href="css/Style.css" rel="stylesheet" type="text/css" media="all" /> 
    <asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="container"> 
     <!--header starts --> 
     <div id="header"> 
      <div id="logo"> 
       <img src="~/Images/logo.gif" alt="logo" runat="server" /></div> 
      <div id="logoright"> 
       <div id="topbar1" style="float: right"> 
        <div class="empty" style="padding-top:3px; padding-right: 10px; background: #f1f1f1; height: 25px"> 
         <a id="A1" href="~/Agent_list.aspx" runat="server">Agents</a>|&nbsp; <a href="~/AboutUs.aspx" runat="server">About Us</a>|&nbsp; <a id="A2" href="~/Faq.aspx" runat="server" >FAQ</a>|&nbsp; <a id="A9" href="~/Feedback.aspx" runat="server">Feedback</a>|&nbsp; 
         <a href="~/contactus.aspx" runat="server">Contact Us</a></div> 
        <div class="empty" style="background: #f1f1f1"> 

         <img height="25" alt="" src="~/Images/top_curve2.gif" width="32" runat="server" /></div> 
        <div class="empty" style="width: auto; height: 25px; text-align: center"> 
        </div> 
       </div> 
       <div class="empty" style="float: right; margin: 9px 0px 8px; "> 
        <img height="56" alt="" src="~/Images/paper.gif" width="286" runat="server" /><asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" 
          ShowStartingNode="False" /> 
          </div> 
       <div id="navigation"> 
       <div> 
       <asp:Menu ID="MainMenu" runat="server" Orientation="Horizontal" MaximumDynamicDisplayLevels="0" 
       DataSourceID="SiteMapDataSource1" DynamicEnableDefaultPopOutImage="False" StaticEnableDefaultPopOutImage="False"> 
       <StaticMenuStyle CssClass="menu" /> 
       <StaticMenuItemStyle CssClass="menuItem" /> 
       <StaticSelectedStyle CssClass="menuSelectedItem" /> 
       <DynamicMenuStyle CssClass="menuPopup" /> 
       <DynamicMenuItemStyle CssClass="menuPopupItem" Font-Strikeout="False" /> 
       <DynamicHoverStyle CssClass="menuPopupItem" /> 
       <StaticHoverStyle CssClass="menuItemHover" /> 
      </asp:Menu> 
       </div> 
      <div id="submenu" runat="server"> 
      <ul id="submenulist"> 
      <li><a id="home" href="~/AdminArea/HomeForAdmin.aspx" runat="server">Basic Info</a></li> 
      <li><a id="A3" href="~/AdminArea/CreateAgent.aspx" runat="server">Create Agent</a></li> 
       <li><a id="A4" href="~/AdminArea/All_Agents_info.aspx" runat="server">Agent List</a></li> 
       <li><a id="A5" href="~/AdminArea/Deposit.aspx" runat="server">Deposite</a></li> 
       <li><a id="A6" href="~/AdminArea/Agent_search.aspx" runat="server">Search Agent</a></li> 
       <li><a id="A7" href="~/AdminArea/Bus_list.aspx" runat="server">Bus List</a></li> 
       <li><a id="A8" href="~/AdminArea/feedback_list.aspx" runat="server">FeedBack List</a></li> 
      </ul> 
      </div> 
      </div> 
      </div> 
     </div> 
     <div> 
      <table style="width: 100%;"> 
       <tr> 
        <td colspan="3"> 
         <asp:ScriptManager ID="ScriptManager1" runat="server" /> 
          <asp:UpdatePanel ID="up12" runat="server"> 
          <ContentTemplate> 
           <table cellspacing="0" cellpadding="0" width="100%" border="0"> 
            <tbody> 
             <tr> 
              <td class="border-header" style="height: 25px;" valign="middle" 
               align="left" width="600"> 
               Welcome <asp:LoginName ID="LoginName1" runat="server" />, Rs.<asp:Literal ID="litbal" runat="server" /> 
              </td> 
              <td class="border-header-date" style="height: 25px" valign="middle" align="left" 
               width="200"> 
               <asp:Literal ID="litdate" runat="server"></asp:Literal> 
              </td> 
             </tr> 
            </tbody> 
           </table> 
          </ContentTemplate> 
         </asp:UpdatePanel> 
         <asp:ContentPlaceHolder ID="content1" runat="server"> 
         </asp:ContentPlaceHolder> 
        </td> 
       </tr> 
       <tr> 
        <td colspan="3"> 
         <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server"> 
         </asp:ContentPlaceHolder> 
        </td> 
       </tr> 
       <tr> 
        <td colspan="3"> 
         <asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server"> 
         </asp:ContentPlaceHolder> 
        </td> 
       </tr> 
       <tr> 
        <td colspan="3"> 
         <asp:ContentPlaceHolder ID="ContentPlaceHolder4" runat="server"> 
         </asp:ContentPlaceHolder> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         &nbsp; 
        </td> 
        <td> 
         &nbsp; 
        </td> 
        <td> 
         &nbsp; 
        </td> 
       </tr> 
      </table> 
     </div> 

      <div id="footer"> 
       <div id="footerlinks"> 
        <div style="float: left"> 
         Copyright © 2010, All rights reserved &nbsp; <span class="orange11">l</span> &nbsp; <a href="~/Privacypolicy.aspx" runat="server">Privacy policy</a>&nbsp; <span class="orange11"> 
          l</span> &nbsp; <a href="~/TermsandConditions.aspx" runat="server">Terms and conditions</a>&nbsp; 
         <br /> 
        </div> 
        <div style="float: right; text-align: right"> 
         <asp:Label ID="lblCreatedBy" runat="server"></asp:Label> 
        </div>      
       </div>     
      <!--footer ends --> 
      <div> 
       <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 
       </asp:ContentPlaceHolder> 
      </div> 
      </div> 
     </div> 
    </form> 
</body> 
</html> 
+0

可能在文件MasterPage.master.designer.cs中已經存在一個名爲head的控件。 –

回答

1

可能有幾個原因:

  1. 你在你的項目中另一個類的地方,也被稱爲MasterPage2
  2. 你需要清理和重建項目
  3. 你有一個在你master.cs姓負責控制並在master.designer.cs
+0

MasterPage2是MasterPage.master.cs文件中的一個類。你是否建議我改變班級名稱?好心提醒! – user3805591

+0

我更新了答案 – RoninCoder

+0

即使將類名更改爲其他名,此錯誤仍然存​​在。它只是採用該名稱並顯示錯誤。它可能是我的MasterPage.master.aspx文件中的東西嗎? – user3805591

1

具有相同名稱的控制你嵌套MasterPages

IF所以錯誤是指向原因。您在結果頁面中有2個head元素(組合)。除了服務器端的錯誤,你可能會得到一個格式不正確的HTML文檔(2套<html/>聲明和<head/>,<body/>等元素)。

關於如何嵌套MasterPages請參閱此MSDN document。簡而言之,嵌套MasterPage就像是一個「模板化」UserControl

Hth ...

相關問題