2011-09-20 81 views
0

这里是.aspx代码片段。OnSelectedIndexChanged事件未触发

   <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事件处理程序。仍然没有工作。
+0

向我们显示标记。 #3可能是你的问题。 – n8wrl

+0

您的事件处理程序是否需要“公共”,而不是“受保护”?另外,如果您在该方法上有句柄声明,则不需要将其添加到标记中。挑一个或另一个。 – qJake

回答

5

DropDownList的标记没有指定AutoPostBack属性。这需要存在并设置为true(默认为false):

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