我正在尝试使用Kendo Mvc Grid作为Mvc EditorTemplate。
ViewModel.cs
public class ViewModel{
...
public List<EditorViewModel> Lines{get;set;}
...
}
EditorViewModel.cs
public class EditorViewModel{
...
public string Text{get;set;}
...
}
View.cshtml
@model ViewModel
<form>
...
@Html.EditorFor(m => m.Lines, "Grid")
...
</form>
EditorTemplates / Grid.cshtml
@Model IEnumerable<EditorViewModel>
@Html.Kendo().Grid<EditorViewModel>().BindTo(Model)
...
.Columns(col => {
col.Bound(m => m.Text)**.EditorTemplate("Text.Grid");**
})
.Editable(g => g.Enabled(true).Mode(GridEditMode.InCell))
...
)
网格显示正确,可编辑为例外,但当我离开编辑模式时,会抛出javascript错误。
Uncaught TypeError: Cannot read property 'Text' of undefined
at eval (eval at getter (kendo.all.js:2041), <anonymous>:3:21)
at init.set (kendo.all.js:8149)
at init.change (kendo.all.js:8930)
at init.f (jquery-2.2.4.min.js:2)
at init.trigger (kendo.all.js:124)
at init.window.kendo.window.kendo.devtools.kendo.ui.Widget.trigger (<anonymous>:587:33)
at init._change (kendo.all.js:35754)
at init._blur (kendo.all.js:35719)
at init._focusout (kendo.all.js:35770)
at HTMLInputElement.f (jquery-2.2.4.min.js:2)
是否可以将KendoGrid用作Mvc EditorTemplate? 如果有可能我做错了什么?
更新:
如果找到解决此问题的方法。 所做的更改使用粗体文本。 在Text.Grid.cshtml中添加此行
@{
ViewData.TemplateInfo.HtmlPrefix = string.Empty;
}
这样就删除了属性前缀