2014-05-21 28 views
1

我目前有多选按照我想要的方式工作,但有一个例外。预先加载之前选择的项目。MVC模型来填充KendoUI Multiselect - 预加载所选项目

我的看法如下:

<div class="editor-field">  
    @Html.LabelFor(model => model.UntaggedPersons) 
    @Html.ListBoxFor(model => model.PeopleToTag, 
      new SelectList(Model.CommitteeMembers, "PersonId", "FullName"))     
</div> 

JS:

$("#PeopleToTag").kendoMultiSelect({ "dataTextField": "FullName", "dataValueField": "PersonId", "placeholder": "Tag or Untag Persons to Action Item" }); 

PeopleToTag是一个IEnumerable <int> int值的帖子控制器
CommitteeMembers由一个人的名,姓,全名和PERSONID

这很好用,我可以操纵谁在帖子中标记为控制器。

现在我想添加预选那些当前标记的功能。

如何添加预选值?我有一个模型:

model.TaggedPersons由一个人First,Last,Fullname,PersonId组成。

如何连接javascript以显示model.TaggedPersons作为已选值?

我不介意使用MVC包装方法,如果它更容易。

我已经试过类似:

<div class="editor-field">  
    @Html.LabelFor(model => model.TaggedPersons) 
    @(Html.Kendo().MultiSelectFor(model => model.PeopleToTag) 
    .Name("PeopleToTag") 
    .Placeholder("These people are Tagged") 
    .DataTextField("FullName") 
    .DataValueField("PersonId") 
    .BindTo(Model.CommitteeMembers) 
    .Value(Model.TaggedPersons)   
    ) 
</div> 

然而,这甚至不是目前呈现剑道多选我。这是我想如何接近它的一般想法。

任何帮助非常感谢!

回答

0

变化: DataTextField( “全名”),以DataTextField( “文本”)

DataValueField( “PERSONID”),以DataValueField( “值”)

的SelectList使用 “文本” 和 “值” , 分别。创建选择列表时,您已经使用FullName和PersonId填充了选择列表的字段。

相关问题