我有一个简单的剑道网格,我正试图将编辑器模板与之关联。外键是唯一发送到客户端的属性,所以我不能给编辑器模板一个外键属性的模型类型。
剑道网格的配置
protected override void Configure(GridBuilder<AreaModel> grid)
{
grid.Columns(c =>
{
c.Bound(a => a.Description);
c.Bound(p => p.CompanyId).ClientTemplate("#= CompanyDescription#").EditorTemplateName("DropDown/CompanyId").Width(160);
c.Command(command => command.Edit()).Width(200);
c.Command(command => command.Destroy()).Width(110);
});
grid.ToolBar(toolbar => toolbar.Create().Text("New Area"));
grid.Editable(edit => edit.Mode(GridEditMode.InLine));
grid.DataSource(d => d
.Ajax()
.Model(m => m.Id(p => p.Id))
.Create("GridInsert", "Area")
.Update("GridUpdate", "Area")
.Destroy("GridDelete", "Area"));
}
}
编辑器模板也是直接的。除了值没有发布到服务器之外,一切都正常。
@using Kendo.Mvc.UI
@(Html.Kendo().DropDownList()
.Name("CompanyId")
.DataValueField("Id")
.DataTextField("Name")
.DataSource(d => d.Read("CompaniesData", "Company")))
有人能帮我解决这个问题吗?
应该维护dropdownlist所选值的modelview
property name必须是editorTemplate中dropdownlists的name,并且datavaluefield
的类型和属性应该相同。