是否可以强制Telerik MVC MultiSelect仅将ID发布回控制器?

a-h*_*a-h 2 asp.net asp.net-mvc telerik telerik-mvc kendo-asp.net-mvc

我正在尝试将Html.ListBoxFor()迁移到Html.Telerik().MultiSelectFor()以获得一些花哨的UI,但HTTP表单帖子与模型不兼容,并且似乎过多新模型粘合剂,以避免它.

public class Settings
{
  public int[] UserIds { get; set; }

  public IEnumerable<SelectListItem> UserSelectList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我使用Html.ListBoxFor帮助程序时,HTTP表单post仅包含Select List Item的值(即UserIds数组),如预期的那样.

UserIds[0] = 1
UserIds[1] = 2

@Html.ListBoxFor(model => model.UserIds, Model.UserSelectList)
Run Code Online (Sandbox Code Playgroud)

当我使用Kendo MultiSelect时,HTTP表单帖子包含两个属性.这不是预期的.

UserIds[0].Text = Adrian
UserIds[0].Value = 1
...

@Kendo().MultiSelectFor(model => Model.UserIds).BindTo(Model.UserSelectList)
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何让Kendo MultiSelect只发布id值,或者是否有现成的Model Binder?

D_L*_*ing 6

您只需将Primitive值设置为true即可获得值列表.

    .ValuePrimitive(true)
Run Code Online (Sandbox Code Playgroud)

供参考: 是原始样本