如何在 mvc kendo ui 网格中绑定列的客户端模板中将“this”作为函数参数发送?

Posted

技术标签:

【中文标题】如何在 mvc kendo ui 网格中绑定列的客户端模板中将“this”作为函数参数发送?【英文标题】:How to send "this" as a function parameter in a client template of a bound column in an mvc kendo ui grid? 【发布时间】:2014-09-04 07:25:45 【问题描述】:

我有一个 kendo ui 网格,它有一个使用客户端模板的绑定列。客户端模板包含一个带有 onclick 事件的 html 按钮,看起来像

columns.Template(e => e.ConfirmationNumber).ClientTemplate("<button class='btnStartStopClock' onclick='StartStopPSAClock(this, #= ConfirmationNumber #, \"#= Description #\")'>Start</button>").HtmlAttributes(new  id = "btnStartStop_\\#= ConfirmationNumber\\#" ).Title("").Width(15);

我想知道如何正确地将“this”(按钮)作为参数发送到 onclick 函数。我目前拥有的东西打破了它。

感谢您的帮助

【问题讨论】:

【参考方案1】:

您可以使用以下 javascript 并更改您的列代码如下:

columns.Template(e => e.ConfirmationNumber).ClientTemplate("<button class='btnStartStopClock' onclick='StartStopPSAClock(event, #= ConfirmationNumber #, \"#= Description #\")'>Start</button>").HtmlAttributes(new  id = "btnStartStop_\\#= ConfirmationNumber\\#" ).Title("").Width(15);


function StartStopPSAClock(event, confNumber, descrip) 
    alert("ConfirmationNumber:  " + confNumber);
    alert("Description:  " + descrip);

    //Get Parent Button object as well Parent of Button.
    alert("Button ID: " + event.target.id);
    alert("Button Parent ID: " + event.target.parentElement.id);

Demo

【讨论】:

完美,谢谢!我不知道 event 关键字。欣赏学习新事物。

以上是关于如何在 mvc kendo ui 网格中绑定列的客户端模板中将“this”作为函数参数发送?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MVC Razor 在编辑器模板中将 Kendo UI Grid 绑定到我的模型集合

弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口

如何根据 kendo ui mvc 网格中的条件格式化行

如何在 MVC 应用程序中转置 Kendo UI 网格中的行和列?

Kendo UI 将 DropDownList 添加到 Grid (MVC)

Kendo UI:Kendo 网格的惰性绑定