Kendo MVC Grid:创建自定义命令按钮并传递参数

Posted

技术标签:

【中文标题】Kendo MVC Grid:创建自定义命令按钮并传递参数【英文标题】:Kendo MVC Grid: Creating a Custom command button and passing parameters 【发布时间】:2012-11-02 07:49:40 【问题描述】:

我正在尝试创建一个自定义命令按钮来触发自定义删除功能。我需要将模型的 ID 传递给我的自定义删除函数。您会注意到我正在尝试传递静态“5”作为测试,但我想传递行的 ID。

任何帮助将不胜感激。

@(html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>

    columns.Bound(p => p.Name).Width(240);
    columns.Bound(p => p.City).Width(170);
    columns.Bound(p => p.State).Width(170);
    columns.Command(command =>
    
        command.Edit();
        command.Custom("Delete").Click("PropertyPage.DeleteProperty").HtmlAttributes(new  @Id = 5 );
        ).Width(166);
    )
    .Scrollable()
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Model(model => model.Id(p => p.Id))
        .Read(read => read.Action("PropertyRead", "Property"))
        .Update(update => update.Action("Update", "Property"))
        .Destroy(update => update.Action("Delete", "Property"))
))

【问题讨论】:

【参考方案1】:

这应该发送任何指定的数据键:

command.Custom("Delete").SendDataKeys(true).Click("PropertyPage.DeleteProperty");

DataKeys 在 DataSource 部分中指定:

    .DataSource(dataSource => dataSource
    .Ajax()
    .Model(model => model.Id(p => p.Id))  // THIS IS YOUR DATA KEY
    .Read(read => read.Action("PropertyRead", "Property"))
    .Update(update => update.Action("Update", "Property"))
    .Destroy(update => update.Action("Delete", "Property"))

我还在 Kendo 的网站上找到了这个页面。当我遇到类似问题时,它帮助了我: http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid#editing

希望这会有所帮助!

【讨论】:

如何在我的函数 DeleteProperty 中访问该数据键? function DeleteProperty(e)... 我尝试了一个 alert(e) 并且我看到的只是对象。我需要获取 ID。 我的错误。我没有意识到这是在调用 javascript 函数。对不起!考虑到这一点,将您的自定义命令语法更改为: command.Custom("Delete").Click("PropertyPage.DeleteProperty");你的函数应该是这样的: function DeleteProperty(e) //或者你的函数名是什么 var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var id = dataItem.Id;警报(ID);

以上是关于Kendo MVC Grid:创建自定义命令按钮并传递参数的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net MVC Kendo Grid 的自定义分页

Kendo Grid MVC - 服务器导出 Excel 日期时间字段(自定义格式)

Kendo UI MVC——如何获得更灵活的网格自定义命令?

Kendo Grid MVC 结合了 ajax 绑定和服务器编辑

使用助手的Kendo MVC网格自定义命令字体真棒图标

Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据