Kendo MVC Wrapper - 自定义编辑器,如果网格

时间:2014-01-03 20:56:37

标签: asp.net-mvc kendo-ui kendo-grid

我正在尝试使用MVC包装器在我们的网格中使用自定义弹出编辑器。

MVC包装器是

Html.Kendo().Grid(@Model.ReferralCommentsViewModel.ReferralComments)   
    .Name("gridComment")
    .Columns(columns =>
    {
        columns.Bound(p => p.CommentValue).Title("Comment").Encoded(false).Width(450);
        columns.Bound(p => p.CreatedBy).Title("Created By").ClientTemplate("#= kendo.toString(CreatedBy) #").Width(100);
        columns.Bound(p => p.CreatedDate).Title("Create Date").ClientTemplate("#= kendo.toString(CreatedDate, \"MM/dd/yyyy\") #").Width(70);
        columns.Command(command => { command.Edit().Text(" "); }).Title("Edit").Width(20);
        columns.Command(command => { command.Destroy().Text(" "); }).Title("Delete").Width(20);
    })
    .ToolBar(toolbar => toolbar.Create().Text("Add new Comment"))
    .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("popupEditorTemplate").Window(w=>w.Title("Add/Edit Comment")))
    .Resizable(resize => resize.Columns(true))
    .Sortable()
    .Selectable()
    .HtmlAttributes(new { style = "height:165px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .AutoSync(false)
        .Batch(true)
        .Events(events => events.Error("error_handler"))
        .Model(model => model.Id(p => p.CommentID))
        .Create(update => update.Action("EditingPopup_Create", "Referral"))
        .Read(read => read.Action("EditingPopup_Read", "Referral"))
        .Update(update => update.Action("EditingPopup_Update", "Referral"))
        .Destroy(update => update.Action("EditingPopup_Destroy", "Referral"))

    )

编辑器模板是 -

<script id="popupEditorTemplate" type="text/x-kendo-template">
    <label for="Created Date">Created Date:</label><Input data-bind= "value: CreatedDate" readonly="true" />
    <label for="Created By">CreatedBy:</label><Input data-bind= "value:CreatedBy" readonly="true" />
    <label for="Created By">Comments:</label>
    <textarea data-role="editor"
                      data-bind="value: CommentValue"
                      style="width: 280px"></textarea>

 </script>

无论我使用哪种选项,我都无法在弹出窗口中显示自定义编辑模板。仅显示默认弹出窗口。有什么明显缺失的东西吗?

项目 - VS2012,MVC4

1 个答案:

答案 0 :(得分:1)

TemplateName 应指定视图的名称,该视图是MVC自动搜索的 EditorsTemplate 文件夹中的cshtml。

它不应该是包含Kendo模板的html元素的名称(就像你一样)。有关MVC EditorTemplates的更多信息,请访问here.