2

请检查以下代码


@model IEnumerable<Polls.Core.domain.Address>

<div class="demo-section">
    <a class="k-button k-button-icontext k-add-button" href="#"><span class="k-icon k-add"></span>Add new record</a>
</div>

<script type="text/x-kendo-tmpl" id="template">
    <div class="product-view k-widget">
        <div class="edit-buttons">
            <a class="k-button k-button-icontext k-edit-button" href="\\#"><span class="k-icon k-edit"></span></a>
            <a class="k-button k-button-icontext k-delete-button" href="\\#"><span class="k-icon k-delete"></span></a>
        </div>
        <dl>
            <dt>AddressType</dt>
            <dd>#:AddressType#</dd>

            <dt>Line1</dt>
            <dd>#:Line1#</dd>

            <dt>Line2</dt>
            <dd>#:Line2#</dd>

            <dt>Line3</dt>
            <dd>#:Line3#</dd>

            <dt>City</dt>
            <dd>#:City#</dd>

            <dt>State</dt>
            <dd>#:State#</dd>
        </dl>
    </div>
</script>

<script type="text/x-kendo-tmpl" id="editTemplate">
    <div class="product-view k-widget">
        <div class="edit-buttons">
            <a class="k-button k-button-icontext k-update-button" href="\\#"><span class="k-icon k-update"></span>Save</a>
            <a class="k-button k-button-icontext k-cancel-button" href="\\#"><span class="k-icon k-cancel"></span>Cancel</a>
        </div>
        <dl>
            <dt>AddressType</dt>
            <dd>#:AddressType#</dd>

            <dt>Line1</dt>
            <dd>#:Line1#</dd>

            <dt>Line2</dt>
            <dd>#:Line2#</dd>

            <dt>Line3</dt>
            <dd>#:Line3#</dd>

            <dt>City</dt>
            <dd>#:City#</dd>

            <dt>State</dt>
            <dd>#:State#</dd>
        </dl>
    </div>
</script>

<div class="demo-section">
    @(Html.Kendo().ListView<Polls.Core.domain.Address>(Model)
    .Name("listView")
    .TagName("div")
    .ClientTemplateId("template")
    .Editable(editor => editor.TemplateName("editTemplate"))
    .Pageable()
    .DataSource(dataSource => dataSource
        .Model(model => model.Id("Id"))
        .PageSize(6)
                .Create(create => create.Action("Address_Create", "Test"))
                .Read(read => read.Action("Address_Read", "Test"))
                .Update(update => update.Action("Address_Update", "Test"))
                .Destroy(destroy => destroy.Action("Address_Destroy", "Test"))
    )
    )
</div>

<script>
    $(function () {
        var listView = $("#listView").data("kendoListView");

        $(".k-add-button").click(function (e) {
            listView.add();
            e.preventDefault();
        });
    });
</script>

有人指导如何参考编辑模板。目前,当我单击编辑/添加新按钮时,它会显示模型中所有可用的实体。我希望在编辑时只显示选定的字段。

有人请在这方面提供帮助。

4

2 回答 2

0

有两种方法可以将编辑器模板与 Kendo Listview 一起使用:

  1. 创建名为Views\EditorTemplates\{yourViewModel}.cshtmlRazor 或yourViewModel.ascxaspx 视图引擎的文件夹和文件。

    或者

  2. 在 Editable 方法中显式指定编辑器模板名称:

    .Editable(editable => editable.TemplateName("editTemplate"))

于 2014-07-07T18:02:42.227 回答
0

Kendo MVC 使用一个文件夹来引用编辑模板这个文件夹你可以在 View/Shared/EditorTemplates 找到它(如果该文件夹不存在,只需创建它)。在此文件夹中,您可以插入将按名称调用的所有模板,例如:

@(Html.Kendo().ListView<temp.Models.YourTable>(Model)
    .Name("listView")
    .TagName("div")
    .ClientTemplateId("template") // here goes the template for data
    .DataSource(dataSource => dataSource
        .Model(m => m.Id("ID"))
        .ServerOperation(false)
        .Read(read => read.Action("ActionRead", "Controller"))
    )
    .Editable(edit => edit.TemplateName("EditTmpl")) // here goes the template name for edit mode 
)

EditTmpl.cshtml => // 此模板是您必须存储在我上面提到的文件夹中的模板。

希望这可以帮助。

于 2014-11-10T21:44:16.037 回答