我的母版页和它的SelectedIndexChanged
事件中有一个下拉菜单,我希望它重新加载内容页面的数据。我将内容页面的内容包装在一个中,UpdatePanel
以便我可以在我的母版页的代码中执行此操作:
Protected Sub ddlMyDropdown_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlMyDropdown.SelectedIndexChanged
Session("NewVal") = ddlMyDropdown.SelectedValue
upMyUpdatePanel.Update()
End Sub
然后在内容页面中,我使用下拉列表设置的值并将其显示在屏幕上:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
lblMyLabel.Text = Session("NewVal")
End Sub
问题是,当upMyUpdatePanel
更新时,它落后了一步,这意味着它反映了ddlMyDropdown
来自这个SelectedIndexChanged
事件之前的一个事件的值。我相信这是因为内容页的Page_Load
事件在母版页的SelectedIndexChanged
事件之前触发。
从母版页的下拉列表中选择新值时,如何更新内容页的内容?
如果我不需要在代码在我的内容页面中运行之前SelectedIndexChanged
触发事件,@wazz 的答案将解决我的问题。
我通过将我的内容页面的Page_Load
代码移入解决了我的问题,Page_PreRender
以便它SelectedIndexChanged
在母版页之后触发。可能并不理想,但效果很好。
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
'Do stuff...
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句