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
爲什麼你放置了兩個分開的更新面板?如果可能,不要在標籤中放置整個
@WaqarJanjua是的,我先做了。我在單個更新面板中都有下拉菜單。但它也沒有工作。 – Anuya 2012-08-13 07:08:10
ok試試這個:在第二個更新面板(UP2)中放置一個asynpostbacktrigger,並將其控件ID設置爲ddlTypes,並且不要在後面的代碼中調用UP2.Update方法。 – 2012-08-13 07:08:50
回答
你應該觸發添加到被第一個下拉的SelectedIndexChanged事件引發了第二次更新面板。
來源
2012-08-13 07:09:40
我得到這個錯誤:在UpdatePanel'UP2'中的觸發器的關聯控件'ddlTypes'上找不到名爲'ddlTypes_SelectedIndexChanged1'的事件。 – Anuya 2012-08-13 07:16:32
那麼你必須創建事件服務器端。現在觸發器找不到處理服務器端的事件。 – 2012-08-13 07:17:54
創建活動!!!我只是把我的第一個下拉列表中的selectedindexchange事件名稱放到第二個dropdwon的EvenName上。錯了嗎?在您的代碼頁面中有 – Anuya 2012-08-13 07:20:45
相關問題