Идентификатор шаблона клиента сетки Kendo ui не определен

Я пытаюсь использовать ссылку команды редактирования для редактирования строки сетки веб-интерфейса кендо. Проблема в том, что я не могу использовать синтаксис "#= Id #", идентификатор определяется как id в модели и одном из полей. сильный>. Вот схема, определенная в источнике данных

    var dataSource = new kendo.data.DataSource({
        type: "json",
        .....
        schema: {
            model: {
                id: "Id",
                fields: {
                    Id: { type: "number" },
                    RequesterName: { type: "string" },
                    ...
                }
            },
            data: "data",
            total: "total"
        },
        ...
        pageSize: 5
});

И сетка кендо

$("#request-grid").kendoGrid({
    dataSource: dataSource,
    ...
    columns: [{
        field: "Id", title: "Id", width: 35
    }, {
        field: "RequesterName", title: "Req Name", width: 175
    }, { 
    ...
    }, {
        command: [{ name: "edit", template: "<a href='@Url.Action("_SoftwareRequestEdit", "SoftwareRequest")" + "/#= Id #" + "'>Edit</a>" }]
    }],
    ...
});

С приведенным выше кодом, когда сетка загружается, я получаю следующую ошибку javascript

ReferenceError: Id is not defined
#11 http://localhost:49713/Admin/SoftwareRequest/SoftwareRequestList:3
#10 http://localhost:49713/Scripts/Kendo/kendo.web.js:294:22 eval (eval at ()
#9 http://localhost:49713/Scripts/Kendo/kendo.web.js:26361:44 Widget.extend._createButton()
#8 http://localhost:49713/Scripts/Kendo/kendo.web.js:27571:38 Widget.extend._cellTmpl()
#7 http://localhost:49713/Scripts/Kendo/kendo.web.js:27523:41 Widget.extend._tmpl()
#6 http://localhost:49713/Scripts/Kendo/kendo.web.js:27624:37 Widget.extend._templates()
#5 http://localhost:49713/Scripts/Kendo/kendo.web.js:25055:18 new Widget.extend.init()
#4 http://localhost:49713/Scripts/Kendo/kendo.web.js:2785:25 HTMLDivElement.()
#3 http://localhost:49713/Scripts/jquery-2.1.0.js:381:23 Function.jQuery.extend.each()
#2 http://localhost:49713/Scripts/jquery-2.1.0.js:137:17 jQuery.fn.jQuery.each()
#1 http://localhost:49713/Scripts/Kendo/kendo.web.js:2784:26 $.fn.(anonymous function) [as kendoGrid]

Как видите, я определил Id в модели, но по-прежнему получаю сообщение ReferenceError: Id не определен. Любые подсказки для того же.


person Jatin    schedule 10.04.2014    source источник


Ответы (2)


Переменные из модели можно использовать только для столбца шаблона, а не для столбца команды.

По сути, вы можете достичь своей цели, полностью используя шаблон, вам не обязательно использовать командный столбец.

person Petur Subev    schedule 10.04.2014
comment
Я боролся с этим в течение довольно долгого времени. Действительно, столбец шаблона прекрасно работает в этом случае. Здорово. - person Jatin; 10.04.2014

Замените часть «#= Id #» на «#= data.Id ? Id: ' ' #»

person Arnab    schedule 06.09.2018