Kendo ComboBox并将其他数据传递给控制器

时间:2017-02-07 16:02:29

标签: c# asp.net-mvc combobox kendo-ui kendo-asp.net-mvc

所以我在一个可重用的局部视图中有一个ComboBox。当我尝试使用getAddionalData并将更多参数传递给控制器​​时,有没有办法可以将组合框的输入传递给函数?我不能直接调用组合框的id来获取getAddionalData中的值,因为可能有多个,我不知道调用该函数的确切id。我试图在函数中使用'this'限定符,但这只给了我读取的url。例如,在dataBound函数上,我可以调用this.open()并打开我的组合框。我不能在这里使用它。任何的想法?我调查了Kendo : ComboBox in a grid - Sending additional data of selected combobox to combobox Read(),这并没有让我得到我需要的东西。

@(Html.Kendo().ComboBoxFor(m=>m.Id)
                  .DataTextField("xxxx")
                  .DataValueField("xxxx")
                  .Placeholder("xxxx")
                  .MinLength(3)
                  .AutoBind(false)
                  .Events(e=>e.DataBound("functionCall").Change("functionCall"))
                  .TemplateId("templateId")
                  .HtmlAttributes(new { @class = "form-control", style = "width:100%" })
                  .Filter("contains")
                  .Delay(500)
                  .DataSource(source => source.Read(read => read.Action("method", "controller").Data("getAdditionalData(#=input.val()#)"))
                      .ServerFiltering(true))
                  .Height(500)

  )


var getAdditionalData = function (e) {
    //somehow get id of combobox calling the function and get the value of the input to pass to controller
    //can't use 'this' or e.sender
    return {
        text: value,
        searchLocation: "xxxx",
        searchType: "xxxx"
    }
}

1 个答案:

答案 0 :(得分:0)

Per Telerik,http://www.telerik.com/forums/how-to-find-id-of-kendo-dropdownlist-in-event-handler,“Kendo UI DataSource不知道任何关于小部件的信息(包括DropDownList小部件的id)”。所以它看起来不可能。