2011-09-20 181 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>