У меня есть 2 выпадающих списка в элементе редактирования Шаблон представления формы. Первый выпадающий список содержит список марок автомобилей, а второй - список моделей автомобилей. Список моделей необходимо отфильтровать по выбору из выпадающего списка.
Вот 2 раскрывающихся списка
<telerik:RadComboBox ID="RadComboBoxAssetMake" runat="server" DataTextField="AssetMakeName"
SelectedValue='<%# Bind("MakeId") %>' DataSourceID="odsAllAssetMakes" AutoPostBack="True" DataValueField="Id" Skin="Vista"
Width="212px" OnSelectedIndexChanged="RadComboBoxAssetMake_SelectedIndexChanged">
<telerik:Items>
<telerik:RadComboBoxItem Text="" Value="" />
</telerik:Items>
</telerik:RadComboBox>
<telerik:RadComboBox ID="RadComboBoxAssetModel" runat="server" DataTextField="AssetModelName"
SelectedValue='<%# Bind("ModelId") %>' DataSourceID="odsAssetModelByMake" DataValueField="Id" Skin="Vista" Width="212px">
<telerik:Items>
<telerik:RadComboBoxItem Text="" Value="" />
</telerik:Items>
</telerik:RadComboBox>
Изначально я хотел использовать параметр выбора элемента управления для источника данных объекта для модели. С параметром, получающим значение из выпадающего списка Make. Однако это, похоже, не работает, так как параметр select в источнике данных объекта не может видеть элемент управления в представлении формы.
Итак, теперь я пытаюсь использовать параметр выбора сеанса в источнике данных объекта.
<asp:ObjectDataSource runat="server" ID="odsAssetModelByMake" DataObjectTypeName="GPSO.Repository.AssetModel"
TypeName="GPSOnline.ATOMWebService" SelectMethod="GetAssetModelbyMake">
<SelectParameters>
<asp:SessionParameter DbType="Guid" SessionField="assetMakeId" Name="assetMakeId" />
</SelectParameters>
</asp:ObjectDataSource>
Но теперь я получаю эту ошибку: «Методы привязки данных, такие как Eval (), XPath () и Bind (), могут использоваться только в контексте элемента управления с привязкой к данным». Когда я пытаюсь привязать данные к модели, выпадающий в выбранном индексе изменяет метод выпадающего списка.
protected void RadComboBoxAssetMake_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
{
Session["assetMakeId"] = e.Value.ToString();
((RadComboBox) fvAsset.FindControl("RadComboBoxAssetModel")).DataBind();
}
Существует ли простой способ достижения такого рода вещей, может показаться, что это настолько распространенный сценарий, что должен быть стандартный способ сделать это?