Kendo ui Can';t读取KendoUI下拉列表值

Kendo ui Can';t读取KendoUI下拉列表值,kendo-ui,Kendo Ui,我有以下三个KendoUI下拉列表框 @(Html.Kendo().DropDownList() .HtmlAttributes(new { style = "width:120px;height:20px;font-size:12px;" }) .OptionLabel("Make (any)") .Name("Make") .DataTextField("Name") .DataValueField("Id") .DataSourc

我有以下三个KendoUI下拉列表框

@(Html.Kendo().DropDownList()  
    .HtmlAttributes(new { style = "width:120px;height:20px;font-size:12px;" })
    .OptionLabel("Make (any)") 
    .Name("Make") 
    .DataTextField("Name") 
    .DataValueField("Id") 
    .DataSource(source =>
    {
           source.Read(read =>
           {
               read.Action("UpdateFilters", "Home"); 
           })
           .ServerFiltering(true); 
    })
    .Events(e => e.Change("UpdateFilterParameters"))
    .SelectedIndex(0) //Select first item.
    )

    @(Html.Kendo().DropDownList()    
          .Name("Model")
          .HtmlAttributes(new { style = "width:120px;height:20px;font-size:12px;'" })
          .OptionLabel("Model (any)")
          .DataTextField("Name")
          .DataValueField("Id")
          .DataSource(source => {
              source.Read(read =>
              {
                  read.Action("UpdateFilters", "Home");
              })
              .ServerFiltering(true);
          })
          .Enable(true)
          .AutoBind(true)
          .Events(e => e.Change("UpdateFilterParameters"))


    )

    @(Html.Kendo().DropDownList()
          .Name("Fuel")
          .HtmlAttributes(new { style = "width:120px;height:20px;font-size:12px;" })
          .OptionLabel("Fuel type (any)")
          .DataTextField("Name")
          .DataValueField("Id")
          .DataSource(source =>
          {
              source.Read(read =>
              {
                  read.Action("UpdateFilters", "Home");
              })
              .ServerFiltering(true);
          })
          .Enable(true)
          .AutoBind(true)
          .Events(e => e.Change("UpdateFilterParameters"))


    )
这是我的MVC控制器

public JsonResult UpdateFilters(string FilterInfo)
    {
        FilterParameter oFilterInfo = new FilterParameter();

        // Json object for filtering
        // {'Procedure':'GetMakes','Id':[1,2,3]}
        try
        {
            oFilterInfo = JsonConvert.DeserializeObject<FilterParameter>(FilterInfo);
            return Json(UpdateFilterParameter.GetUpdatedFilters(oFilterInfo), JsonRequestBehavior.AllowGet);
        }
        catch
        {
            return new JsonResult();
        }

    }
我遇到的问题是,当调用JavaScript函数UpdateFilterParameters时,我只获取任一列表框的值,而不是所有列表框的值。这就是功能

function UpdateFilterParameters() {

        var iMake = $("#Make").val();
        var iModel = $("#Model").val();
        var iFuel = $("#Fuel").val();

        $('#Make').data("kendoDropDownList").dataSource.read(
            { FilterInfo: "{'Procedure':'GetMakes','Id':[" + iMake + "," + iModel + "," + iFuel + "]}" });

        $('#Model').data("kendoDropDownList").dataSource.read(
             { FilterInfo: "{'Procedure':'GetModels','Id':[" + iMake + "," + iModel + "," + iFuel + "]}" });

        $('#Fuel').data("kendoDropDownList").dataSource.read(
            { FilterInfo: "{'Procedure':'GetFuelTypes','Id':[" + iMake + "," + iModel + "," + iFuel + "]}" });

    };

知道为什么会发生这种情况吗?

要解决这个问题,我必须将函数UpdateFilterParameters更改为如下所示,以显示Id值或传递NULL。我的代码在反序列化Json时失败

function UpdateFilterParameters() {

        var iMake = $("#Make").val();
        var iModel = $("#Model").val();
        var iFuel = $("#Fuel").val();

        var ids = (iMake || "null") + "," + (iModel || "null") + "," + (iFuel || "null");

        $('#Make').data("kendoDropDownList").dataSource.read(
            { FilterInfo: "{'Procedure':'GetMakes','Id':[" + ids + "]}" });

        $('#Model').data("kendoDropDownList").dataSource.read(
             { FilterInfo: "{'Procedure':'GetModels','Id':[" + ids + "]}" });

        $('#Fuel').data("kendoDropDownList").dataSource.read(
            { FilterInfo: "{'Procedure':'GetFuelTypes','Id':[" + ids + "]}" });

    };

是否需要任何进一步的信息来帮助解决我的问题?嘿,我正在尝试实现您所拥有的,因为我的不起作用@
http://stackoverflow.com/questions/18410895/how-to-read-kendoui-cascading-dropdownlist-from-controller
但在您的示例中,我无法获取
jsonvert.
UpdateFilterParameter.
两个
错误:
在当前上下文中不存在。你能帮我个忙吗?你添加了使用Newsoft.Json的参考吗?当然有,还有什么你能想到的吗?另外,您是否认为有一个很好的理由让我不能从formCollection值和控制器级别的DDl名称/id中执行
string filter3=values[“DDLID”]
function UpdateFilterParameters() {

        var iMake = $("#Make").val();
        var iModel = $("#Model").val();
        var iFuel = $("#Fuel").val();

        var ids = (iMake || "null") + "," + (iModel || "null") + "," + (iFuel || "null");

        $('#Make').data("kendoDropDownList").dataSource.read(
            { FilterInfo: "{'Procedure':'GetMakes','Id':[" + ids + "]}" });

        $('#Model').data("kendoDropDownList").dataSource.read(
             { FilterInfo: "{'Procedure':'GetModels','Id':[" + ids + "]}" });

        $('#Fuel').data("kendoDropDownList").dataSource.read(
            { FilterInfo: "{'Procedure':'GetFuelTypes','Id':[" + ids + "]}" });

    };