如何在母版页中创建创建变量/属性,让子页面访问它们?
所以我的主人将有一个字符串属性HomeUrl
使用母版页的任何页面如何访问此属性?
答案 0 :(得分:4)
您应该为您的母版页使用基类,它将定义您的属性:
public class BaseMasterPage : System.Web.UI.MasterPage
{
public string HomeUrl {get; set; }
}
然后您的母版页应该继承自此BaseMasterPage
类(例如):
// real master page
public partial class Common_MasterPages_Backend_Default : BaseMasterPage
{
}
在此之后,您可以通过Page.Master
属性访问您的媒体资源:
BaseMasterPage baseMaster = (BaseMasterPage)Page.Master;
string homeUrl = baseMaster.HomeUrl;
来自使用此母版页的任何页面。
答案 1 :(得分:1)
您可以使用继承来执行此操作。
假设:
您可以创建另一个页面(比如Instrumentobase.aspx)并将所有公共/受保护的属性放在那里。此页面也必须使用母版页。
之后,将Med_Instrumento1.aspx类更改为从此页面继承。
例如:这是代码: webcontentpage:
<%@ Page Language="C#" MasterPageFile="~/Med_Instrumentos.Master" AutoEventWireup="true" CodeBehind="Med_Instrumento1.aspx.cs"
背后的代码:
public partial class Med_Instrumento1 : InstrumentoBase
基类:
<%@ Page Language="C#" MasterPageFile="~/Med_Instrumentos.Master" AutoEventWireup="true" CodeBehind="InstrumentoBase.aspx.cs" Inherits="Auscultacion.InstrumentoBase" Title="Untitled Page" %>
背后的代码:
public partial class InstrumentoBase : System.Web.UI.Page
{
public string INST_Emplazamiento
{
get {return "Some Value" );}
}
public TextBox DevolverTextBoxdeMaster(string sNombreTextBox)
{
TextBox Texto;
Texto = (TextBox)Master.FindControl(sNombreTextBox);
return Texto;
}
}
在Med_Instrumento1.aspx中,您可以使用INST_Emplazamiento属性或DevolverTextBoxdeMaster方法。