2012-08-13 69 views
0

我使用下面的代碼來填充另一個下拉列表的選擇下拉列表。 但不知何故,當在ddlTypes中選擇一個項目時ddlSubTypes沒有被填充Dropdown not binding內部Ajax更新面板

在ddlTypes的selectedindex更改事件上,我綁定了ddlSubTypes。

<tr> 
    <td class="style3"> 
     <asp:ScriptManager ID="scma" runat="server"> 
     </asp:ScriptManager> 
     <asp:UpdatePanel ID="UP1" runat="server"> 
      <ContentTemplate> 
       <asp:DropDownList ID="ddlTypes" runat="server" Width="200px" AutoPostBack="true" OnSelectedIndexChanged="ddlTypes_SelectedIndexChanged1"> 
       </asp:DropDownList> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </td> 
</tr> 
<tr> 
    <td class="style3"> 
     <asp:UpdatePanel ID="UP2" runat="server"> 
      <ContentTemplate> 
       <asp:DropDownList ID="ddlSubTypes" runat="server" Width="200px"> 
       </asp:DropDownList> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </td> 
</tr> 



Protected Sub ddlTypes_SelectedIndexChanged1(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTypes.SelectedIndexChanged 
     Try 
      'Populate schemes 
      ddlSubTypes.Items.Clear() 
      Dim ID As Integer = ddlTypes.SelectedValue 
      Dim dt As DataTable = IterateSubtypesContents(ID) 

      ddlSubTypes.DataTextField = dt.Columns("Type").ToString() 
      ddlSubTypes.DataValueField = dt.Columns("ID").ToString() 
      ddlSubTypes.DataSource = dt 
      ddlSubTypes.DataBind() 

      UP2.Update() 
     Catch ex As Exception 

     End Try 
    End Sub 
+0

爲什麼你放置了兩個分開的更新面板?如果可能,不要在​​標籤中放置整個

在更新面板中。 – 2012-08-13 07:06:06

+0

@WaqarJanjua是的,我先做了。我在單個更新面板中都有下拉菜單。但它也沒有工作。 – Anuya 2012-08-13 07:08:10

+0

ok試試這個:在第二個更新面板(UP2)中放置一個asynpostbacktrigger,並將其控件ID設置爲ddlTypes,並且不要在後面的代碼中調用UP2.Update方法。 – 2012-08-13 07:08:50

回答

0

你應該觸發添加到被第一個下拉的SelectedIndexChanged事件引發了第二次更新面板。

<asp:UpdatePanel ID="UP2" runat="server"> 
    <ContentTemplate> 
    <asp:DropDownList ID="ddlSubTypes" runat="server" Width="200px"> 
    </asp:DropDownList> 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="Control That Triggers this Panel" EventName="Desired Event that triggers" /> 
    </Triggers> 
</asp:UpdatePanel> 
+0

我得到這個錯誤:在UpdatePanel'UP2'中的觸發器的關聯控件'ddlTypes'上找不到名爲'ddlTypes_SelectedIndexChanged1'的事件。 – Anuya 2012-08-13 07:16:32

+0

那麼你必須創建事件服務器端。現在觸發器找不到處理服務器端的事件。 – 2012-08-13 07:17:54

+0

創建活動!!!我只是把我的第一個下拉列表中的selectedindexchange事件名稱放到第二個dropdwon的EvenName上。錯了嗎?在您的代碼頁面中有 – Anuya 2012-08-13 07:20:45