使用子页面中的数据更新母版页上的链接

时间:2008-12-11 21:09:28

标签: asp.net master-pages

我的母版页中有一个报告链接菜单。每当用户更改子页面上的值时,我都需要在每个末尾附加一个ID。什么是实现这个目标的好方法?

更新:我应该提到子更新发生在UpdatePanel内部,这意味着更改发生时不会重新加载母版页。

2 个答案:

答案 0 :(得分:2)

MasterPage实际上是它控制的页面的子控件。您可以像控制页面上的任何其他控件一样控制MasterPage(几乎)。您需要做的就是获得它的参考。

您将属性添加到MasterPage的代码中,因此其代码可能如下所示:

public partial class _default : System.Web.UI.MasterPage
{
    protected string m_myString = string.Empty;
    public string myString
    {
        get { return m_myString; }
        set { m_myString = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

然后你必须将this.Master属性转换为你的MasterPage

public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Cast here to get access to your MasterPage
        _default x = (_default)this.Master;
        x.myString = "foo";
    }
}

答案 1 :(得分:0)

回应您的更新:

更新的面板可以将ID写入隐藏字段,菜单事件可以在Request.Form["fieldName"]中查找隐藏字段。

请注意,您不应该fieldName.Text,因为ASP.NET在为已经AJAX的字段返回正确的值方面做得不好。