OnSelectedIndexChanged事件未触发

时间:2011-09-20 19:40:12

标签: vb.net

这是.aspx代码段。

                <tr>
                   <td></td>
                   <td class="sectionHeading">
                       Dashboard</td>
                    <td> Division &nbsp: &nbsp;&nbsp;
                        <asp:DropDownList ID="ddlDivisions" runat="server" `enter code     here`OnSelectedIndexChanged="ddlDivisions_SelectedIndexChanged" Width="152px">
                        </asp:DropDownList></td>
                </tr>

下面是我的数据绑定代码。它是从Page_Load()

调用的
'Populate Diviions dropdown
    If Not IsPostBack Then
        ddlDivisions.DataSource = Divisions.Fetch().List
        ddlDivisions.DataTextField = "DivisionDesc"
        ddlDivisions.DataValueField = "DivisionID"
        ddlDivisions.SelectedValue = 3  'Divisioon All
        ddlDivisions.DataBind()
    End If

以下是我的事件处理程序......

  Protected Sub ddlDivisions_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlDivisions.SelectedIndexChanged
        'Other code goes here
  End Sub

上面的事件处理程序没有被调用。作为我的研究的一部分,我已经做了很多事情

  1. 当数据不回发时将数据绑定到下拉控件的数据源
  2. 从工具箱中添加了控件
  3. 尝试在.aspx中添加事件处理程序。仍然无法正常工作。

1 个答案:

答案 0 :(得分:5)

DropDownList的标记未指定AutoPostBack属性。这必须存在并设置为true(默认值为false):

<asp:DropDownList ID="ddlDivisions" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlDivisions_SelectedIndexChanged" Width="152px">
</asp:DropDownList>