如何重新定义在母版页上声明的内容页'
本文关键字:声明 定义 何重新 母版页 | 更新日期: 2023-09-27 18:15:48
我正在使用VS2010和ASP构建web应用程序。净4
我已经设法在一个嵌套的母版页中声明和定义一个变量,并在母版页中调用它。但是,如何从内容页的代码后面更改该变量的值?
下面是DeckNav.master.cs(嵌套的母版页代码)中的变量声明:
public partial class DeckNav : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
this.mfrName = "(BRAND)";
this.modelName = "(MODEL)";
}
public string mfrName { get; set; }
public string modelName { get; set; }
}
这就是我如何调用2个变量(默认值)在母版页(DeckNav.master):
<asp:ContentPlaceHolder ID="brandAndModel" runat="server">
<h1 class="page-header"> <%= mfrName %> <%= modelName %>
</h1>
</asp:ContentPlaceHolder>
在从DeckNav继承的内容页中。主,我需要知道如何改变变量的值相应的每个ASPX内容页的代码隐藏。
的例子:
public partial class DeckRepair : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
mfrName = "Brand 10";
modelName = "Model 12";
}
}
上面的代码片段不起作用。Visual Studio提示"当前上下文中不存在该名称"。
编辑:
我在母版页的代码后面将变量声明为静态的:
public partial class LeftNav : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
public static string camMfr { get; set; }
public static string camModel { get; set; }
}
…并在内容页的代码后面赋值:
public partial class BrandModel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
LeftNav.camMfr = "BRAND 11";
LeftNav.camModel = "MODEL 11";
}
}
我仍然有同样的问题。它第一次成功地将变量赋值给"BRAND 11",但是当我加载另一个具有camMfr和camModel独特值的内容页面时(即:"BRAND 22","MODEL 22"),它保留原始赋值("BRAND 11")。请记住,我不是在母版页中赋值,只是声明它。
Try
DeckNav.mfrName = "Brand 10";
DeckNav.modelName = "Model 12";