チェックボックスを選択すると、奇妙なチェックボックス検証エラーが発生します。エラーはjquery.minにあります:エラー:構文エラー、認識されない式:
input:hidden [name='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チェックボックスをクリックすると、次の構文エラーが発生します。一重引用符が配置されている場所に注意してください。
エラー:構文エラー、認識されない式:input:hidden [name='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>
EditorFor Template 1
@model ViewModels.CategoryandItemsVM
@Html.EditorFor(x => x.ChecklistItems)
EditorFor Template 2
@model ViewModels.ChecklistItemVM
@Html.CheckBoxFor(x => x.IsSelected)
ネストされたコレクションを手動でループし(EditorForテンプレートなし)、コントロールに正しく名前を付けると、すべてが正常に機能します。剣道バリデーターとネストされたモデルに問題があるようです。
更新この問題の解決策はありませんが、より複雑でないビューモデルで問題を再現しました。EditorForテンプレートのレベルが1つしかない場合にも、同じエラーが発生します。