我有一个带有SelectedIndexChanged
事件监听器的DropDownList
<asp:DropDownList ID="LoanOptionCombo" runat="server" AutoProstBack="True">
监听
Protected Sub LoanOptionCombo_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles LoanOptionCombo.SelectedIndexChanged
' hello world, no code here yet
End Sub
我的Page_Load
事件
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' parse a .txt file and populate the DropDownList
InitializeLoanOptions()
End Sub
最初加载表单时,贷款选项会加载到DropDownList(当前为4)。
每当用户为DropDownList选择一个贷款选项时,DrowDownList会以某种方式重新初始化,再次向列表添加相同的4个选项。
每次用户选择其他选项时,相同的4个选项都会重新添加到列表中。
我假设再次调用Page_Load事件,因为这是我实际添加DropDownList项的唯一地方。代码中没有其他地方与DrowDownList.Items交互。
如何在DropDownList上侦听SelectedIndexChanged事件,但避免重新初始化整个表单?
答案 0 :(得分:1)
您可以在页面加载事件中使用IsPostBack属性。 当您的页面加载时,只有数据绑定到您的下拉列表。
检查这些链接
http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx
答案 1 :(得分:1)
您需要更改Page_Load
,如下所示
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' parse a .txt file and populate the DropDownList
If Not IsPostBack
InitializeLoanOptions()
End If
End Sub
答案 2 :(得分:0)
检查page_load上的IsPostBack属性。
If Not IsPostBack
// Load your drop drop list here....
End If