我的母版页中有一个报告链接菜单。每当用户更改子页面上的值时,我都需要在每个末尾附加一个 ID。有什么好方法可以做到这一点?
更新:我应该提到子更新发生在 UpdatePanel 中,这意味着发生更改时不会重新加载母版页。
我的母版页中有一个报告链接菜单。每当用户更改子页面上的值时,我都需要在每个末尾附加一个 ID。有什么好方法可以做到这一点?
更新:我应该提到子更新发生在 UpdatePanel 中,这意味着发生更改时不会重新加载母版页。
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";
}
}
回应您的更新:
更新后的面板可以将 ID 写入隐藏字段,菜单事件可以在Request.Form["fieldName"]
.
请注意,您不应该这样fieldName.Text
做,因为 ASP.NET 在为已 AJAX 处理的字段返回正确值方面做得不好。