使用子页面中的数据更新母版页上的链接
我的主页中有一个报告链接菜单。 每当用户更改子页面上的值时,我都需要在每个页面的末尾附加一个 ID。 有什么好的方法可以实现这个目标呢?
更新:我应该提到子更新发生在 UpdatePanel 内,这意味着发生更改时不会重新加载母版页。
I have a menu of report links in my master page. I need to append an ID to the end of each whenever the user changes a value on the child page. What's a good way to accomplish this?
UPDATE: I should have mentioned that the child update is happening inside an UpdatePanel, meaning the master page is not reloaded when the change happens.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
MasterPage 实际上是它所控制的页面的子控件。 您可以像控制页面上的任何其他控件一样控制 MasterPage(几乎)。 您所需要做的就是获取它的参考。
您将一个属性添加到 MasterPage 的代码中,因此其代码可能如下所示:
然后您必须将 this.Master 属性强制转换为 MasterPage
A MasterPage is really a child control of the page which it controls. You can control a MasterPage like any other control on your page (almost). All you need to do is get a reference to it.
You add a property to the code of your MasterPage, so its code may look something like this:
Then you have to cast the this.Master property to your MasterPage
响应您的更新:
更新后的面板可以将 ID 写入隐藏字段,菜单事件可以在
Request.Form["fieldName"]
中查找该隐藏字段。请注意,您不应该使用
fieldName.Text
,因为 ASP.NET 无法为已 AJAX 处理的字段返回正确的值。In response to your UPDATE:
The updated panel could write the ID to a hidden field and the menu events could look for that hidden fields in
Request.Form["fieldName"]
.Note that you shouldn't
fieldName.Text
because ASP.NET does a bad job of returning the right value for fields that have been AJAXed.