如何在我的子页面.aspx页面中访问我的母版页值

时间:2009-12-21 14:14:51

标签: asp.net

在母版页中,我可以在这里找到这个代码,我可以获得价值   员工姓名

<asp:ScriptManager ID="scriptManager" runat="server" />
            <script type="text/javascript" language="javascript">
      //  attach to the pageLoaded event
                Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);        

 function pageLoaded(sender, args) 
{
  var Staffname='<%= obj.ClientID %>'; 
  // this i am getting from code  behind .i am  able  to get the value                

}
  </script>  

关于每个页面如何加载此函数

所以现在从我的母版页我需要在.aspx页面中访问这个值  有什么方法可以做到吗

anyhelp会很棒

谢谢

4 个答案:

答案 0 :(得分:2)

要访问母版页,您需要在子页面上插入一个链接:

<%@ MasterType TypeName="YourMasterPage" %>

然后,您可以通过在主页面中公开公共属性然后仅通过以下方式引用主要属性来访问它:

string someValue = Master.YourControlProperty;
// or
int someIntValue = Master.GetSomeIntValue();

答案 1 :(得分:0)

我可能会通过让Page继承自包含您要设置的属性的接口来实现此目的。然后将“Page”属性转换为此接口(可能会在此处进行检查以确保它是该类型)。

在MasterPage中:

public void Page_Load(object sender, EventArgs e)
{
    IMyPage page = Page as IMyPage
    if(page != null)
    {
        //use page.MyProperty
    }
}

在Page的代码背后

public class MyPage : Page, IMyPage
{
    // From the interface IMyPage
    public string MyProperty { get { return MyTextBox.ClientID; } }
}

答案 2 :(得分:0)

在你的子页面类中(假设它只有一种类型的主页面被称为“MPClass”,并且假设主页面上的属性被称为“你的属性”,你会这样做:

var myPropertyFromMasterPageInChild = ((MPClass)Master).YourProperty;

答案 3 :(得分:0)

在内容页面中使用MasterType指令。