如何将包含按钮的 Kendo 网格中的列的值发送到 ClientTemplate?

How can I send a value from a column in a Kendo Grid containing a button to a ClientTemplate?

我正在尝试将网格中的行的 ID 发送到 ClientTemplate。我有一个带有删除按钮的列,我想将单击的行的 ID 发送到 ClientTemplate,这样我就可以通过 AJAX 调用点击控制器。我知道我可以通过 "Url.Action("A​​ction","Controller")" 执行此操作,但我试图在不刷新页面的情况下执行此操作,因为我正在处理的网格是位于 Kendo 弹出窗口 Window。我尝试了多种语法变体,但都无济于事。任何帮助解决这个问题的帮助将不胜感激。以下是我尝试过的一些语法.....

column
.Template(@<text></text>).Width(90)

.ClientTemplate("#= MyDeleteTemplate(CsvSubmittalID) #"); 

.ClientTemplate("<div style='text-align:center'><a class=ActionbuttonDelete href=\"" + Url.Action("DeleteCsvRow", "Project") + "/#=CsvSubmittalID#\"> [Delete] </a></div>");

.ClientTemplate("#= MyDeleteTemplate(CsvSubmittalID)#", <div style='text-align:center'><a class=ActionbuttonDelete [Delete] </a></div>"); 

我需要按钮位于列中,但不使用 Url.Action

将行的 ID 传递给 Javascript

以下使用类似功能对我有用。我只是通过 $.ajax{}

发出呼叫

.....

.ClientTemplate("<a style='' id='lnkDelete#=CsvSubmittalID#' onclick='lnkDeleteOnClick(#=CsvSubmittalID#)' href='javascript:void(0)'><strong>${FirstName}, ${LastName}</strong</a>")

...

function lnkDeleteOnClick(CsvSubmittalID){
    $.ajax({
        type: "GET",
        url: '@Url.Action("DeleteCsvRow","Project")',
        datatype: "json",
        traditional: true,
        data: {CsvSubmittalID:CsvSubmittalID},
        success: function (data, status, xhr ) {
            var grid = $("#myGrid").data("kendoGrid");
            grid.dataSource.read();    
        },
        error: function (xhr, status, error) {
            console.log(error);    
        }

     });
}

经过一天半的努力,我找到了实现我最初目标的语法。

 column
     .Template(@<text></text>).Width(90)

     .ClientTemplate("<div style='text-align:center; cursor:pointer '><a class=ActionbuttonDelete onclick=\"MyDeleteTemplate('#=CsvSubmittalID#')\">[Delete]</a></div>");  

下面是我发送 Ajax 调用的模板....

 function MyDeleteTemplate(CsvSubmittalID)
{
    $.ajax({
        url: '@Url.Action("DeleteCsvRow", "Project")',
        type: "POST",
        data: ({ id : CsvSubmittalID }),
        dataType: "json"
    })

    $('#CsvGrid').data('kendoGrid').dataSource.read();

}

Javascript 末尾的 read() 更新了网格,一切都按预期工作。