2015-06-25 43 views
0

我的kendo多重选择控件显示如下,清除页面提交中的选定值。当我提交页面并且包含验证错误时,多选中的选定项目会丢失。即使它获取填入控制器的HttpPost方法。请帮我找到这种行为的解决方案。kendo multiselect for mvc清除提交时的选定值

@(Html.Kendo().MultiSelectFor(m => m.GemeentesIds)     
    .HtmlAttributes(htmlAttrMultiselect) 
    .DataTextField("Name") 
    .DataValueField("Id") 
    .Placeholder(Model.Disabled ? "" : "Selecteer gemeentes indien van toepassing...") 
    .Value(Model.Gemeentes)         
    .AutoBind(false) 
    .DataSource(source => { 
     source.Read(read => { 
      read.Action("GetGemeentes", "General").Data("GemeenteFilter").Type(HttpVerbs.Post); 
     }) 
     .ServerFiltering(false); 
    }) 
              ) 

控制器:

if (model.GemeentesIds != null) 
    model.Gemeentes = _organisatorischeEenheidRepository.GetGemeentesByIds(model.GemeentesIds); 

回答

1

试试这个,看看是否有帮助。还要使用Name()方法分配Name属性。我认为你的情况应该是Gementees。 所以您多重选择的代码看起来像

@(Html.Kendo()。MultiSelectFor(M => m.GemeentesIds)
请将.Name( “Gemeentes”)
.HtmlAttributes(htmlAttrMultiselect) .DataTextField( “姓名”) .DataValueField( “ID”) .Placeholder(Model.Disabled “?”: “Selecteer gemeentes indien面包车toepassing ...”) .value的(Model.Gemeentes)
.AutoBind( false) .DataSource(source => {source = Read {{{0} {0}} {0} ad.Action(“GetGemeentes”,“General”).Data(“GemeenteFilter”)。类型(HttpVerbs.Post); }) .ServerFiltering(false); })

源链接,帮我解决一个类似的问题: http://www.telerik.com/forums/multiselect-and-form-not-sending-values-back