Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kendo ui 如何为剑道ui网格编辑命令链接指定自定义模板_Kendo Ui_Kendo Grid - Fatal编程技术网

Kendo ui 如何为剑道ui网格编辑命令链接指定自定义模板

Kendo ui 如何为剑道ui网格编辑命令链接指定自定义模板,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我正在努力获得一个自定义的编辑命令链接的剑道ui网格工作。假设我有下面的网格 <div id="request-grid" style="height: 400px;"></div> <script type="text/javascript"> $("#request-grid").kendoGrid({ dataSource: dataSource, columns: [{ field: "

我正在努力获得一个自定义的编辑命令链接的剑道ui网格工作。假设我有下面的网格

<div id="request-grid" style="height: 400px;"></div>

<script type="text/javascript">
    $("#request-grid").kendoGrid({
        dataSource: dataSource,
        columns: [{
            field: "Id", title: "Id", width: 20
        }, {
            field: "FromName", title: "Req Name", width: 150
        ....
        }, {
            command: [{ name: "edit", template: kendo.template('@Html.ActionLink("Edit","_SoftwareRequestEdit","SoftwareRequest",new {id = "#= Id #"}, null)') }]
        }],
    });
</script>

$(“#请求网格”).kendoGrid({
数据源:数据源,
栏目:[{
字段:“Id”,标题:“Id”,宽度:20
}, {
字段:“FromName”,标题:“请求名称”,宽度:150
....
}, {
命令:[{name:“edit”,template:kendo.template('@Html.ActionLink(“edit”,“_SoftwareRequestEdit”,“SoftwareRequest”,new{id=“#=id#”},null)}]
}],
});
我已经将上面的代码用于编辑链接,但我不记得具体内容。我已经为正确的语法挠头两个小时了,但仍然不明白。上面的编辑命令模板生成以下链接

<a href="/Admin/SoftwareRequest/_SoftwareRequestEdit/%23%3d%20Id%20%23">Edit</a>

而我正期待着这个

<a href="/Admin/SoftwareRequest/_SoftwareRequestEdit/3">Edit</a>

对于Id等于3的网格行


任何关于如何使用正确的Id值正确生成编辑链接的想法

从模板的定义中删除
kendo.template()
,KendoUI已经知道它必须是一个模板,所以它需要一个
字符串
,而不是一个kendo.template`对象。参见其文档中的文档和示例

例如:

<div id="grid"></div>
<script>
$("#grid").kendoGrid({
    columns: [ {
        field: "name",
        template: "<strong>#: name # </strong>"
    }],
    dataSource: [ { name: "Jane Doe" }, { name: "John Doe" } ]
});
</script>

$(“#网格”).kendoGrid({
列:[{
字段:“名称”,
模板:“:名称””
}],
数据源:[{name:“Jane Doe”},{name:“John Doe”}]
});

我试图直接使用ActionLink,而不是将其传递给kendo.template()。但是,它打印出的链接与问题中显示的链接相同。我认为asp.net MVC语法中对actionlink进行了一些编码,看起来MVC正在用编码值替换哈希(#),尽管我对此不是很确定。不管怎样,删除kendo.template()不会产生任何区别。您找到了一个好的解决方案吗?我已经厌倦了每隔一页从剑道UI网格跳到MVC网格,因为一个可以编码/做另一个不能做的事情。这将是一场噩梦。运气好吗?