4

我想将 EditorTemplateName 用于 KendoUi 网格中的外键列。

当网格编辑模式为内联时,一切正常并且我的模板已加载。但是当将模式更改为 Popup 时不会加载模板。如何解决?

@(Html.Kendo().Grid<Product>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.ProductId).Visible(false);
        columns.Bound(p => p.Title);

        columns.ForeignKey(p => p.CategoryId, new SelectList(ViewBag.CategoryySelectList, "Value", "Text"))
                   .EditorTemplateName("MyTemplate");

        columns.Command(cmd => cmd.Edit());
    })
    .Editable(edit => edit
        .Mode(GridEditMode.PopUp)
    )
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(15)
        .Events(events => events.Error("error_handler"))
        .Model(model =>
        {
            model.Id(p => p.ProductId);
        })
        .Read(read => read.Action("FillGrid", "Products"))
        .Update(update => update.Action("Edit", "Products"))
        .Destroy(destroy => destroy.Action("Delete", "Products"))
    )
)
4

1 回答 1

8

InLine使用/ InCellvs.时,渲染的处理方式确实不同Popup。对于后者,实际要使用的编辑器模板是从名称中推断出来的,因此您需要Product.cshtml~Views/Shared/EditorTemplates.

本文详细介绍了这一点: http ://docs.kendoui.c​​om/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/editor-templates 。

于 2013-08-15T13:58:37.780 回答