Kendo网格:未捕获ReferenceError:未定义单位

时间:2019-05-06 08:36:13

标签: c# model-view-controller kendo-ui grid telerik

我创建了一个以类为模型的剑道网格。 对于列,我设置了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 个答案:

答案 0 :(得分:0)

我找到了可以帮助某人的方法:

在“网格”参数的“模型”部分,只需将默认值添加到字段:

.Model(model => {
                    model.Id(p => p.Id);
                    model.Field(p => p.Unit).DefaultValue(new Unit());
                })