Kendo UI 将控件值传递给数据源

Kendo UI passing control value to DataSource

您好,我有一个相当简单的 MultiSelect 下拉列表,其中包含以下数据源

@(Html.Kendo().MultiSelectFor(model => model.UserId)
    .Name("UserId")
    .HtmlAttributes(new { style = "width:100%;" })
    .MinLength(2)
    .Filter(FilterType.Contains)
    .Placeholder("Select User...")
    .AutoBind(false)
    .Animation(false)
    .MaxSelectedItems(1)
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetUsers", "CommonJsonActions");
        });
    })
    .DataValueField("UserId")
    .DataTextField("DisplayName")
    .BindTo(Model.Users)
    .Value(Model.Users)

我想知道是否有办法将另一个下拉菜单的选定值(比如 id formType)传递给 MultiSelect?还是我必须将代码移动到 .js 文件才能利用 jquery 来达到此目的?

要将附加参数传递给操作,use the Data method 并提供 JavaScript 函数的名称,该函数将 return 带有附加数据的 JavaScript 对象:

.DataSource(source =>
{
    source.Read(read =>
    {
        read.Action("GetUsers", "CommonJsonActions").Data("additionalData");
    });
})

<script>
   function additonalData(){
      return {
            formType: $("#formType").val(),
        };
  }
</script>

这是假设另一个 DropDownList 的 ID 为“formType”。操作方法应该有一个名为“formType”的附加参数。