0

我有一个带有下拉框、两个列表框和两个按钮的表单。

我删除了一个“选择”按钮,因为我刚刚使用了DropDownList1_SelectedIndexChanged,但是在我使用以下建议之前,该事件不会触发: 为什么 DropDownList.SelectedIndexChanged 事件不会触发?

它涉及更改AutoPostBack='true'EnableViewState="true"属性

所以现在 DropDownList 可以工作,但是对于两个列表框,SelectedIndex 保持为-1,即使被选中也不会改变。

列表框代码:

<asp:ListBox ID="ListBox1" runat="server" EnableViewState="true" 
    Height="207px" Width="168px"></asp:ListBox>

下拉列表代码:

<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 现在总是说没有用户被选择,但是有一个用户选择,很奇怪。

有任何想法吗?我认为这与回发、page_load 或列表框的 selectedindex 更改事件有关,在我进行修改之前它工作得很好。

4

1 回答 1

1

问题在于回发,并且填充列表框的代码位于dropbox_load子例程中。这意味着每次页面上发生更改时列表框都会重新填充,因此选定项索引将恢复为 -1。

于 2012-06-19T08:07:57.950 回答