使用MVC 4 EditorFor模板时,复选框验证错误

时间:2013-01-09 08:07:00

标签: asp.net-mvc kendo-ui editorfor

选中此复选框后,我收到一个奇怪的复选框验证错误。错误发生在jquery.min上: 错误:语法错误,无法识别的表达式:

输入:隐藏[名= 'CategoriesandItems [1'] ChecklistItems [2] .IsSelected]

复杂/嵌套ViewModel

public class ChecklistVM
{        
    public int ChecklistId {get; set;}
    public string ChecklistName { get; set; }
    public List<CategoryandItemsVM> CategoriesandItems { get; set;     }       
}

public class CategoryandItemsVM
{
    public int CategoryId { get; set; }
    public string CategoryName { get; set; }
    public List<ChecklistItemVM> ChecklistItems { get; set; }
}

public class ChecklistItemVM
{   
    public int? ChecklistItemId { get; set; }
    public bool IsSelected { get; set; }
    public string PropName {gets; set;)
}

当我单击IsSelected CheckBox时,出现以下语法错误。 请注意单引号的放置位置。

错误:语法错误,无法识别的表达式: 输入:隐藏[名= 'CategoriesandItems [1'] ChecklistItems [2] .IsSelected]

查看

 @model  ViewModels.CheckListVM

 @Html.EditorFor(x=>x.CategoriesandItems)

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
   window.validator = $("#ChecklistForm").kendoValidator().data("kendoValidator");    
    });
</script>

编辑模板1

@model  ViewModels.CategoryandItemsVM        
@Html.EditorFor(x => x.ChecklistItems)   

编辑模板2

@model  ViewModels.ChecklistItemVM        
@Html.CheckBoxFor(x => x.IsSelected)      

如果我手动遍历嵌套集合(没有编辑器模板)并正确命名控件,一切正常。看起来Kendo验证器和嵌套模型存在问题。

更新 无法解决此问题,但我使用不太复杂的视图模型重现了该问题。当只有1级EditorFor模板时,会发生同样的错误。

0 个答案:

没有答案