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
相关问题