我的代码所做的是EntityDataSource有一个Where参数绑定到第一个DropDownList并填充第二个DropDownList,但是当第一个DDL更改时,EntityDataSource不会更改第二个DDL的值。
值得一提的是,它位于UpdatePanel内的ModalPopupExtender中。
也许有一种方法可以将所有数据放在第二个DropDownList中并根据第一个数据的值对其进行过滤......或类似的东西......所以不需要刷新数据。
<asp:DropDownList ID="PaqueteKitDropDownList" runat="server" DataSourceID="PaqueteEntityDataSource"
DataTextField="Nombre" DataValueField="ID_Paquete" />
<asp:EntityDataSource ID="PaqueteEntityDataSource" runat="server" ConnectionString="name=CCEntities"
DefaultContainerName="CCEntities" EnableFlattening="False" EntitySetName="Paquetes">
</asp:EntityDataSource>
<br />
<asp:Label ID="Label66" AssociatedControlID="PlanKitDropDownList" runat="server"
Text="Plan:" />
<asp:DropDownList ID="PlanKitDropDownList" runat="server" DataSourceID="PlanKitEntityDataSource"
DataTextField="Duracion" DataValueField="Costo" />
<asp:EntityDataSource ID="PlanKitEntityDataSource" runat="server" ConnectionString="name=CCEntities"
DefaultContainerName="CCEntities" EnableFlattening="False" EntitySetName="Duracion_Plan"
Where="it.ID_Paquete == @ID" OrderBy="it.Duracion ASC">
<WhereParameters>
<asp:ControlParameter DbType="Guid" Name="ID" ControlID="PaqueteKitDropDownList"
PropertyName="SelectedValue" />
</WhereParameters>
</asp:EntityDataSource>
答案 0 :(得分:0)
将SelectedIndexChanged Event
添加到您的第一个DropDownList
并重新绑定第二个
答案 1 :(得分:0)
调用:
PlanKitDropDownList.DataBind()