У меня есть компонент DropDownListFor, который имеет действие чтения, которое получает значения из базы данных. Тем не менее, я хочу отфильтровать эти значения на основе значения другого DropDownListFor.Передача значения kendo DropDownListДля чтения действия другого DropDownListFor
Вот компонент DropDownListFor, который имеет значение фильтра
<div class="editor-field">
@(Html.Kendo().DropDownListFor(model => model.ReleaseID)
.DataTextField("Value")
.DataValueField("Key")
.DataSource(ds => ds
.Read(read=>read.Action("GetReleases", "Task"))
)
)
@Html.ValidationMessageFor(model => model.ReleaseID)
</div>
То, что я хочу сделать, это передать значение ReleaseID в действие чтения другого DropDownListFor. Я попытался сделать это следующим образом:
<div class="editor-field">
@(Html.Kendo().DropDownListFor(model => model.MarketModelID)
.Events(e => e.Select("onSelectMarketModel"))
.Template("<span data-title='Model Description: #: data.Item3 #'>#: data.Item2 # </span>")
.DataTextField("Item2")
.DataValueField("Item1")
.DataSource(ds => ds
.Read(read => read.Action("GetMarketModels", "Task", new { release = Model.ReleaseID }))
))
@Html.ValidationMessageFor(model => model.MarketModelID)
</div>
с методом контроллера подписи:
public JsonResult GetMarketModels(int? release)
{
//code to get market models based on release
}
Однако выпуск в методе GetMarketModels не всегда 0, независимо от того, что выбор для ReleaseID DropDownFor на Вверх. Что я делаю не так?
спасибо.
Спасибо! Я попытался реализовать этот пример, но по какой-то причине я не могу заставить дочерний элемент управления обновляться, когда выбор изменяется в родительском элементе управления. Поскольку для этого элемента установлено значение false, он никогда не будет сброшен. Я что-то упускаю? –
Можете ли вы обновить свой вопрос, чтобы включить код для каскадных DropDownLists, которые вы пробовали? – ataravati
На самом деле, я понял, что сделал каскадное обратное, поэтому код не работал. Теперь все работает правильно. Еще раз спасибо! –