我的代碼做的是EntityDataSource有一個Where參數綁定到第一個DropDownList,它填充第二個DropDownList,但是當第一個DDL更改時,EntityDataSource不會更改第二個DDL的值。刷新DropDownList EntityDataSource更改另一個DropDownList
值得一提的是在一個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>
有沒有什麼辦法去不服務器端? ...因爲這是一個modalpopupextender – sergioadh 2011-03-18 12:09:12
以避免去服務器,你將需要使用不同的控件,支持客戶端綁定,而且,這是更重要的,你將需要一種機制來拉回數據,無需回發,使用ajax例如;服務器端方法有什麼問題? – 2011-03-18 12:12:51
問題機智服務器端的方法是,我的dropdownlist是在modalpopupextender裏面,這將隱藏後去服務器端 – sergioadh 2011-03-18 17:25:35