导致PostBack与页面刷新vb

时间:2015-10-21 21:51:48

标签: asp.net vb.net

我有一个带有Site.Master页面和其他几个.aspx页面的VB项目。我在Site.Master上有一个asp:DropDownList。当用户更改下拉选项时,我希望显示的任何.aspx页面都刷新 - with PostBack,就好像用户更改了.aspx页面上的设置并导致PostBack到该页面。 / p>

目前,我使用

进行整页刷新
Protected Sub ddlPlant_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ddlPlant.SelectedIndexChanged
    Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)
End Sub

问题:这会刷新所有内容,重置下拉列表,清除所有会话数据,并清除.aspx页面在回发期间通常会保存的任何用户输入数据。

如何使.aspx页面和Site.Master页面执行正常的回发,而不是完全刷新?

2 个答案:

答案 0 :(得分:1)

选择DropDownList更改后,应该调用Page的加载事件处理程序(Page_Load),在调用ddlPlant_SelectedIndexChanged之前,Page的PostBack属性等于True。如果您必须在该方法完成后再次调用它,只需调用您的事件处理程序以获取页面加载事件:

Protected Sub ddlPlant_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ddlPlant.SelectedIndexChanged
    Page_Load(Nothing, Nothing)
End Sub

答案 1 :(得分:0)

正如Don Jayamanne上面所说 - 解决方案是从我的代码中删除Response.Redirect行,这将导致正常的PostBack。谢谢!