.Net Kendo HtmlHelper Ajax 多选初始值

.Net Kendo HtmlHelper Ajax MultiSelect Initial Values

我有一个 Kendo MultiSelect,它使用 ajax 从不直接相关的数据库 table 中获取 select 菜单潜在值到模型。

多个Select:

@(Html.Kendo().MultiSelect()  
    .Name("ContactTags")
    .DataTextField("Name")
    .DataValueField("TagId")
    .Placeholder("Please select a tag")
    .AutoBind(false)
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetTags", "ContactTag");
        })
        .ServerFiltering(true);
    })
)

上面的代码呈现 Select 菜单和 post 数据返回到控制器,我可以在其中解析它并将其发送到数据库。创建新标签时一切正常。当实体上已经存在标签时,就会出现问题。如何让 Kendo 获取现有标签并在 Multiselect 菜单中将它们标记为 selected。

在调用此视图的控制器操作中构建所选项目的列表,并将其添加到您的模型 (ViewModel)。

然后向小部件添加一个.Value()子句:

@(Html.Kendo().MultiSelect()  
    .Name("ContactTags")
    .DataTextField("Name")
    .DataValueField("TagId")
    .Placeholder("Please select a tag")
    .AutoBind(false)
    .Value(Model.SelectedTags)
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetTags", "ContactTag");
        })
        .ServerFiltering(true);
    })
)