Try this, This is just example,
@Html.DropDownList("CustomerId", (SelectList)ViewBag.CustomerNameID, "--Select--")
@(Html.Kendo().DropDownList()
.Name("ddlSearchPNResults")
.DataTextField("Text")
.DataValueField("Value")
.AutoBind(false)
.CascadeFrom("CustomerId"))
Script
$(document).ready(function () {
$("#CustomerId").change(function () {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
var Id = $("#CustomerId").val();
$.ajax({
url: '@Url.Action("GetCustomerNameWithId", "Test")',
type: "Post",
data: { CustomerNameId: Id },
success: function (listItems) {
ddl.setDataSource(listItems);
}
});
});
});
Controller
public JsonResult GetCustomerNameWithId(string CustomerNameId)
{
int _CustomerNameId = 0;
int.TryParse(CustomerNameId, out _CustomerNameId);
var listItems = GetCustomerNameId(_CustomerNameId).Select(s => new SelectListItem { Value = s.CID.ToString(), Text = s.CustomerName }).ToList<SelectListItem>();
return Json(listItems, JsonRequestBehavior.AllowGet);
}
It's perfectly working.