在更改另一个DropDownList时,从EntityDataSource刷新DropDownList

时间:2011-03-18 12:01:24

标签: asp.net drop-down-menu entitydatasource

我的代码所做的是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>

2 个答案:

答案 0 :(得分:0)

SelectedIndexChanged Event添加到您的第一个DropDownList并重新绑定第二个

答案 1 :(得分:0)

调用:

PlanKitDropDownList.DataBind()