我在母版页中有一个报告链接菜单。每当用户更改子页面上的值时,我都需要在每个末尾添加一个ID。什么是完成这个的好方法?使用子页面数据更新母版页上的链接
更新:我应该提到在UpdatePanel内发生子更新,这意味着当更改发生时主页面不会重新加载。
我在母版页中有一个报告链接菜单。每当用户更改子页面上的值时,我都需要在每个末尾添加一个ID。什么是完成这个的好方法?使用子页面数据更新母版页上的链接
更新:我应该提到在UpdatePanel内发生子更新,这意味着当更改发生时主页面不会重新加载。
回应您的最新信息:
更新后的面板可以将ID写入隐藏字段,菜单事件可以在Request.Form["fieldName"]
中查找隐藏字段。
请注意,您不应该fieldName.Text
,因为ASP.NET对于已经被AJAX的字段返回正确值的工作做得不好。
母版页实际上是它控制的页面的子控件。您可以像控制页面上的任何其他控件一样控制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物业投放到您的母版
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";
}
}
查看我刚添加到原始问题的更新。我通常会使用你的方法,但部分页面更新是复杂的事情。 – gfrizzle 2008-12-11 21:29:13