繁体   English   中英

如何解决错误“ System.Web.UI.MasterPage”不包含以下内容的定义:

[英]How do I solve the error 'System.Web.UI.MasterPage' does not contain a definition for

我有两个母版页和一个内容页。 在我的本地计算机上,此代码有效,但是一旦我将其上传到服务器,就会出现以下错误:

编译错误描述:在编译为满足此请求所需的资源期间发生错误。 请查看以下特定的错误详细信息,并适当地修改您的源代码。

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

源错误:

第84行:
第85行:
第86行:this.Master.Master.DivWidth = 955; 第87行:SimpleElementCollectionstrictIds = new SimpleElementCollection(); 第88行:restrictedIds.Add(new 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;
    }

同样,这在Visual Studio中使用内置的Web服务器也可以运行,但是在运行IIS6的生产服务器上运行时,出现了上述错误。

有任何想法吗?

这为我工作:

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

在.aspx文件中

public int DivWidth { get; set; } 

这实际上得到实施了吗?

好的,这是东西,有时可以工作,然后当我添加另一个属性或重新编译时,会给我一个错误。 原来是编译器问题。 为了解决这个问题,我必须在根目录下创建一个App_Code目录并创建一个类。 当收到错误消息告诉我没有定义DivWidth时,我简单地在创建的类中进行代码更改,然后按正确的顺序编译站点。 我花了很多时间来帮助我找到解决此问题的方法。 希望这可以帮助遇到这个奇怪问题的其他人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM