1

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

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

4

2 回答 2

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";
    }
}
于 2008-12-11T21:25:36.707 回答
0

回应您的更新:

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

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

于 2008-12-12T07:14:42.337 回答