代码之家  ›  专栏  ›  技术社区  ›  James Campbell

如何解决“System.Web.UI.MasterPage”不包含

  •  2
  • James Campbell  · 技术社区  · 15 年前

    我有两个母版页和一个内容页。在我的本地计算机上,此代码正常工作,但当我上载到服务器时,出现以下错误:

    编译错误

    编译器错误消息:CS1061:“System.Web.UI.MasterPage”不包含“DivWidth”的定义,并且找不到接受“System.Web.UI.MasterPage”类型的第一个参数的扩展方法“DivWidth”(是否缺少using指令或程序集引用?)

    源错误:

    第84行:
    第85行:
    第88行:restrictedIds.Add(新的SimpleElement(priceModifierPriceTypeId));

    源文件:c:\Inetpub\testsite\shop\Default.aspx.cs行:86

    public partial class global : System.Web.UI.MasterPage
    {
    public int DivWidth { get; set; } 
    
        protected void Page_Load(object sender, EventArgs e)
        {
                SetBodyClass();
              if (DivWidth < 1)
            {
                DivWidth = 768;
            }
        }
    

    基本母版页aspx:

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="global.master.cs" Inherits="global" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US" dir="ltr">
    <head id="Head1" runat="server" dir="ltr" lang="en-us" profile="http://dublincore.org/documents/dcq-html/">
    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    <title>page title</title>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
      <meta http-equiv="content-type" content="en-US" />
      <meta http-equiv="content-language" content="en-us" />
    
      <link rel="Bookmark" href="#content" title="Page Content" type="text/html" />
      <link rel="Bookmark" href="#primary-navigation" title="Site Navigation" type="text/html" />
    
      <link href="css/screen/global.css" rel="stylesheet" type="text/css" media="screen"  />
    <link href="css/print/print.css" rel="stylesheet" type="text/css" media="print" />
    
    
    <script src="<%=ResolveUrl("~/javascript/jquery-1.2.6.min.js")%>" type="text/javascript"></script>
    <script src="<%=ResolveUrl("~/javascript/jquery.clearonfocus.js")%>" type="text/javascript"></script>
    <script src="<%=ResolveUrl("~/javascript/modalControl.js")%>" type="text/javascript"></script>
    <asp:ContentPlaceHolder ID="headPlaceholder" runat="server" />
      <!--[if IE]><link href="css/screen/ie/ie.css" rel="stylesheet" type="text/css" media="screen"  /><![endif]-->
      <!--[if IE 6]><link href="css/screen/ie/ie-6.css" rel="stylesheet" type="text/css" media="screen"  /><![endif]-->
    
    ] 
    </head>
    <body id="Body" runat="server">
    <div id="main">
            <div id="main-inner">
                <div id="content" style="width:<%=DivWidth%>px;"><div id="content-top"></div><div class="content-inner"><asp:ContentPlaceHolder ID="contentPlaceHolder" runat="server" /><asp:ContentPlaceHolder ID="BelowLeftRightMainContent" runat="server" /></div> </div>
    
    </body>
    </html>
    

    第二母版页:

    <%@ Master Language="C#" MasterPageFile="~/global.master" AutoEventWireup="false" CodeFile="shopFalcon.master.cs" Inherits="shopFalcon" %>
    <%@ Register TagPrefix="FALCON" TagName="FeatureProducts" Src="~/FalconShopRightHand.ascx" %>
    <%@ Register TagPrefix="FALCON" TagName="ProductSearch" Src="~/FalconProductSearch.ascx" %>
    <%@ Register TagPrefix="FALCON" TagName="AbuseText" Src="~/FalconAbuseLinkDisplay.ascx" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="headPlaceholder" Runat="Server">
    </asp:Content>
    

    我的内容页:

    <%@ Page Language="C#" MasterPageFile="~/shop.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="shopFalcon_Default" Title="Shop Homepage" %>
    <%@ MasterType VirtualPath="~/shop.master"%>
    
    
    <asp:Content ID="Content7" ContentPlaceHolderID="leftColPlaceHolder" Runat="Server">
    <asp:Image ID="Image1" runat="server" ImageAlign="Right" ImageUrl="~/images/Free+Shipping+01.jpg" CssClass="img"/>
    <h1>Shop Anytime, anywhere. </h1>
    
    <div id="shopByBrandDiv">
        </asp:Content>
    

    我的代码:

      protected void Page_Load(object sender, EventArgs e)
            {
    
    
                this.Master.Master.DivWidth = 955;
        }
    

    有什么想法吗?

    3 回复  |  直到 15 年前
        1
  •  0
  •   Moo-Juice    15 年前
    public int DivWidth { get; set; } 
    

    这真的能实现吗?

        2
  •  0
  •   James Campbell    15 年前

    好吧,事情是这样的,这有时会起作用,然后当我添加另一个属性或重新编译时,它会给我一个错误。原来是编译器的问题。为了解决这个问题,我必须在根目录下创建一个App_代码目录并创建一个类。当我得到一个错误,告诉我没有定义DivWidth时,我只需在创建的类中进行代码更改,站点就会按照正确的顺序编译。我花了很多时间才找到解决办法,但她对我的帮助不大。希望这能帮助其他遇到这个奇怪问题的人。

        3
  •  0
  •   claudiu.nicola    13 年前

    这对我有效:

    <%@ MasterType VirtualPath="~/MasterPage.master" %>