我有一个带有下拉框的表单,上面有两个列表框和两个按钮。
我删除了一个“选择”按钮,因为我刚刚使用了DropDownList1_SelectedIndexChanged
,但是在我使用以下建议之前,事件才会触发:
的 Why DropDownList.SelectedIndexChanged event does not fire?
它涉及更改AutoPostBack='true'
和EnableViewState="true"
属性
所以现在DropDownList工作但是有两个列表框,SelectedIndex保持为-1,即使被选中也不会改变。
列表框代码:
<asp:ListBox ID="ListBox1" runat="server" EnableViewState="true"
Height="207px" Width="168px"></asp:ListBox>
DropDownList代码:
<asp:DropDownList ID="DropDownList1" runat="server" EnableViewState="true"
AutoPostBack="true" style="font-weight: 700; margin-left: 26px">
按钮点击事件代码:
If (ListBox1.SelectedIndex < 0) Then 'No user selected
MsgBox("Please select a user to add from the Listbox on the left.", vbCritical, "ListBox2 Validation Error")
Else
MsgBox现在总是说用户没有被选中但有用户选择,非常奇怪。
有什么想法吗?我认为它与postbacks,page_load或listbox的selectedindex更改事件有关,它在我进行修改之前完美地工作。
答案 0 :(得分:1)
问题在于回发,填充列表框的代码位于dropbox_load
子例程中。这意味着每次在页面上发生更改时列表框都会重新填充,因此selecteditem索引将恢复为-1。