【发布时间】:2015-03-12 19:40:21
【问题描述】:
如果我用模型构建网格,它就可以工作。但是如果我将相同的模型传递给部分,它就不起作用。它正在抛出一条错误消息。
传入字典的模型项的类型为“Models.Asset”,但此字典需要类型为“System.Collections.Generic.List`1”的模型项
下面是我的剑道网格,这是我的部分
@Html.Partial("_Address", Model.Address)
@(Html.Kendo().Grid(Model.Address)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Hidden();
columns.Bound(p => p.Address).Width(300);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(200);
})
.Events(events =>
{
events.Save("onSave");
events.Edit("onEdit");
})
.Editable(editable => editable.Mode(GridEditMode.InLine))
.ToolBar(toolBar =>
{
toolBar.Create().Text("Add Address");
})
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => events.Error("onError"))
.Model(model => model.Id(p => p.Address))
.ServerOperation(false)
)
)
【问题讨论】:
-
这是一个很好的错误信息。这意味着在您的部分顶部,您已将模型定义为列表,但将其传递给 Model.Address。由于它们不匹配,因此会引发错误
-
发布你的部分cshtml
-
@MattBodily 在我的模型中,我将 Address 声明为 List。
-
主视图的模型是
Asset吗? (在这种情况下,Address属性为 null - 因此例外) -
你的局部模型声明是什么样的?
标签: asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc