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

发布于 2024-10-23 23:55:51 字数 1674 浏览 1 评论 0原文

我的代码所做的是,EntityDataSource 有一个与第一个 DropDownList 关联的Where 参数,并填充第二个 DropDownList,但是当第一个 DDL 更改时,EntityDataSource 不会更改第二个 DDL 的值。

值得一提的是,这是在 UpdatePanel 内的 ModalPopupExtender 内部。

也许有一种方法可以将所有数据放入第二个 DropDownList 中,并根据第一个 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>

What my code does is that the EntityDataSource has a Where Parameter tied to the first DropDownList and it populates the second DropDownList, but when the first DDL changes, the EntityDataSource doesn't change the values of the second DDL.

Worth mentioning this is inside a ModalPopupExtender which is inside an UpdatePanel.

Maybe there is a way in just putting all the data in the second DropDownList and filter it depending on the value of the first one... or something like that... so there's no need of refreshing the data.

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

折戟 2024-10-30 23:55:51

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

add SelectedIndexChanged Event to your first DropDownList and rebind the second one

甜是你 2024-10-30 23:55:51

调用:

PlanKitDropDownList.DataBind()

Invoke:

PlanKitDropDownList.DataBind()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文