Я пытаюсь соединить два DropDownList ( ddlCountry и ddlCity ) вместе.Я хочу, чтобы когда пользователь изменял страну, ddlCity обновлялся соответственно.
Для этого я создал два списка:
· * Страна (ID, название)
· Город (ID, название,Страна) [Страна - это поле поиска]
Затем я создал страницу ASPX с 2 DropDownList, подключенными к стране и городу через 2 SPDataSource (dsCountry и dsCity).
Когда я загружаю свою страницу, список DropDownList города заполняется соответственно списку DropDownList страны, но когда я меняю страну, ничего не происходит, и ddlCity всегда показывает ноль Это мой код:
<SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true" selectcommand="<Query><OrderBy><FieldRef Name='Title' /></OrderBy></Query>" id="dsCountry">
<SelectParameters>
<asp:Parameter Name="ListName" DefaultValue="Country"/>
</SelectParameters>
</SharePoint:SPDataSource>
<p>Country:
<asp:DropDownList runat="server" id="ddlCountry" DataValueField="Title" DataTextField="Title" DataSourceID="dsCountry" AutoPostBack="True" />
</p>
<SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true" selectcommand="<Query><Where><Eq><FieldRef Name="Country" /><Value Type="Lookup">{country}</Value></Eq></Where></Query>" id="dsCity">
<SelectParameters>
<asp:parameter DefaultValue="City" Name="ListName"></asp:parameter>
<asp:controlparameter name="country" controlid="ddlCountry" propertyname="SelectedValue"/>
</SelectParameters>
</SharePoint:SPDataSource>
<p>City:
<asp:DropDownList runat="server" id="ddlCity" DataValueField="Title" DataTextField="Title" DataSourceID="dsCity" />
</p>
Обратите внимание:
· В ddlCountry AutoPostBack = True
· В dsCity в запросе CAML есть параметр с именем «country», подключенный к ddlCountry через ControlParameter
Я не понимаю, почему моя фильтрация не работает, когда я меняю страну ... Я вижу, что страница перезагружается, но ничего не происходит ... есть предложения?