or
<label for="Client">Client</label> @(Html.Kendo().ComboBox() .Name("Client") .Placeholder("Select Client...") .DataTextField("ClientName") .DataValueField("ClientID") .Events(e => e.DataBound("onDataBoundClient")) .DataSource(source => { source.Read(read => { read.Action("GetClientsCombo", "Tools"); }); }) ) <label for="Package">Package</label> @(Html.Kendo().ComboBox() .Name("Package") .Placeholder("Select Package...") .DataTextField("PackageName") .DataValueField("PackageID") .Events(e => e.DataBound("onDataBoundPackage")) .DataSource(source => { source.Read(read => { read.Action("GetPackagesCombo", "Tools") .Data("filterPackages"); }) .ServerFiltering(true); }) .Enable(false) .AutoBind(false) .CascadeFrom("Client") )public JsonResult GetClientsCombo() { int selectedClientId = Session["selectedClientId"]; var query = //Linq Query to get results select new { ClientID = LinqClientIdColumn, ClientName = LinqClientNameColumn, Selected = LinqClientIdColumn == selectedClientId }; return Json(query, JsonRequestBehavior.AllowGet); } public JsonResult GetPackagesCombo(int clients, string packageFilter) { int selectedPackageId = Session["selectedPackageId"]; var query = //Linq Query to get results select new { PackageID = LinqPackageIdColumn, PackageName = LinqPackageNameColumn, Selected = LinqPackageIdColumn == selectedPackageId }; return Json(query, JsonRequestBehavior.AllowGet); }function onDataBoundClient() { var DataObject = $("#Client").data("kendoComboBox").dataSource.data(); var selectedObject = $.grep(DataObject, function (obj) { return obj.Selected === true; }); $("#Client").data('kendoComboBox').value(selectedObject[0].ClientID); }; function onDataBoundPackage() { var DataObject = $("#Package").data("kendoComboBox").dataSource.data(); var selectedObject = $.grep(DataObject, function (obj) { return obj.Selected === true; }); $("#Package").data('kendoComboBox').value(selectedObject[0].PackageID); };