剑道网格:未捕获的参考错误:未定义单位
Posted
技术标签:
【中文标题】剑道网格:未捕获的参考错误:未定义单位【英文标题】:Kendo grid : Uncaught ReferenceError: Unit is not defined 【发布时间】:2019-09-23 20:58:53 【问题描述】:我创建了一个以类为模型的剑道网格。 对于一列,我设置了一个 ClientTemplate 从链接到我的类的复杂对象中获取属性。它工作得很好,我可以看到我的列中包含正确的数据。 但是当我尝试在我的网格中创建一个新行时,我收到了这个错误:
`Uncaught ReferenceError: Unit is not defined
at eval (eval at compile (kendo.all.js:194), <anonymous>:3:271)
at init._rowshtml (kendo.all.js:56572)
at init._renderContent (kendo.all.js:57216)
at init.refresh (kendo.all.js:57066)
at init.proxy (jquery.js:492)
at init.trigger (kendo.all.js:124)
at init._process (kendo.all.js:7271)
at init._change (kendo.all.js:7231)
at init.proxy (jquery.js:492)
at init.trigger (kendo.all.js:124)`
我的网格列是这样定义的:
.Columns(columns =>
columns.Bound(p => p.Id);
columns.Bound(p => p.Unit.Name).ClientTemplate(("#=Unit ? Unit.Name: ''#")).Title(Global.Unit);
columns.Command(command => command.Edit(); command.Destroy(); );
)
所以在我的网格中,当有一个单元链接到我的项目时,它会在列中显示单元的名称。这部分有效。 但我无法创建新行,我也不知道为什么。
提前感谢您的帮助
【问题讨论】:
【参考方案1】:我找到了该怎么做,如果它可以帮助某人:
在网格参数上,在模型部分,只需在字段中添加一个默认值:
.Model(model =>
model.Id(p => p.Id);
model.Field(p => p.Unit).DefaultValue(new Unit());
)
【讨论】:
以上是关于剑道网格:未捕获的参考错误:未定义单位的主要内容,如果未能解决你的问题,请参考以下文章
网格存储配置抛出“未捕获的类型错误:无法读取未定义的属性‘缓冲’”
未捕获的类型错误:无法读取 JQuery DataTable 未定义的属性“mData”