在編輯模板做類似下面的代碼:
@(Html.Kendo().DropDownListFor(m => m)
.AutoBind(false)
.DataTextField("Text")
.DataValueField("Value")
.OptionLabel("SelectType")
.HtmlAttributes(new { @id = "SecondDropDownName"})
.DataSource(dataSource =>
{
dataSource.Read(read => read.Action("actionName", "ControllerName") .Data("filterFunctionFordataPassing"))
.ServerFiltering(true);
})
.CascadeFrom("FirstDropDownName")
.Enable(false)
)
而在主頁面劍道網格綁定使一個函數傳遞第一個下拉值:
function filterFunctionFordataPassing() {
return {
ddlValue: $("#FirstDropDownName").data("kendoDropDownList").value()
};
}
現在做第二個下拉綁定代碼:這個函數應該從第一個下拉菜單的Change事件調用:
function SeconDropdownFunction(e) {
$.ajax({
type: 'POST',
url: '@Url.Action("SecondDropdownActionName", "ControllerName")',
cache: false,
success: function (result) {
if (JSON.stringify(result) != "[]") {
var ddl = $('#SecondDropDownName').data("kendoDropDownList");
ddl.setDataSource(result);
ddl.refresh();
}
}
});
}