У меня есть два Kendo
DropDownList
входа.Когда вы выбираете первый DropDownList
, он отправляет request
, а после получения response
активирует второй DropDownList
с этими данными.Даже у меня есть более 1 data
, чтобы показать на секунду DropDownList
.. но это показывает только один.
Если я не использую cascading
, я могу показать все datas
на DropDownList
.Так что я не мог понять, в чем причина ..
Вот мой первый DropDownList
@(Html.Kendo().DropDownList()
.Name("firsItemId")
.OptionLabel("Seçiniz")
.DataTextField("Name")
.DataValueField("Id")
.DataSource(dataSource =>
{
dataSource
.Ajax()
.Read(read => read.Action("GetAllDataForDropDown", "SomeContr"));
}))
Вот мой Второй DropDownList
@(Html.Kendo().DropDownList()
.Name("konuId")
.OptionLabel("Seçiniz...")
.DataTextField("Baslik")
.DataValueField("Id")
.DataSource(source =>
{
data.Ajax()
.Read(read =>
read.Action("GetSomeDataById","Konu").Data("filterKonus"));
data.ServerFiltering(false);
}
)
.Enable(false)
.AutoBind(false)
.CascadeFrom("firsItemId")
)
Существует script
для каскадирования
<script>
function filterKonus() {
return {
firsItemId: $("#firsItemId").val()
};
}
</script>
Ответ:
RESPONSE : {"Data":[{"Id":3,"Baslik":"Baslik1"},{"Id":1,"Baslik":"Baslik2"},{"Id":4,"Baslik":"Baslik3"}],"Total":3,"AggregateResults":null,"Errors":null}
Здесь также есть странная проблема.
Когда я выбираю первый элемент на первом DropDownList
(первый идентификатор элемента: 1 ипозиция 1) .Он получает "Id": 1 на response
и показывает this data
{"Id":1,"Baslik":"Baslik2"}
на втором DropDownList
, а не первый на ответ .Он получает и заполняет data
из ответа в соответствии с первым DropDownList
Выбранным ItemId
или Position
Я не знаю ..