2015-06-25 50 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