如何生成一个自定义按钮,从 Kendo UI Grid MVC 中的 uid 提交单元格数据?

How to generate a custom button that submits cell data from its uid in Kendo UI Grid MVC?

我是 Kendo UI ASP.NET MVC 的新手,我想在网格上创建一个自定义的操作按钮,并在单击该按钮时检索一些数据基于每个独特的行。

这是我的网格代码

@(Html.Kendo()
      .Grid<PromotionVM>()
      .Name("PromotionsGrid")
      .Columns(columns =>
      {
          columns.Bound(c => c.Merchant);
          columns.Bound(c => c.Item);
          columns.Bound(c => c.Image);
          columns.Bound(c => c.DiscountRate);
          columns.Command(command => command.Custom("Approve").Click("ApprovePromotion"))
              .Title("Action");
      })
      .DataSource(source =>
      {
          source.Ajax()
              .Model(model => model.Id(field => field.Id))
              .Read(read => read.Action("GetPromotions", "Promotion"));
      })
      )

这里是 PromotionVM:

    [Required]
    public Guid Id { get; set; }
    public string Merchant { get; set; }
    public string Branch { get; set; }
    public string Item { get; set; }
    public string Image { get; set; }
    public decimal DiscountRate { get; set; }

这是我要调用的 javascript 函数来执行 ajax 请求 当我能够通过单击按钮从网格中获取 "Id" 列值时。

<script type="text/javascript">
function ApprovePromotion(e) {

}
</script>

请注意该函数是空的,因为我还不知道要在这里做什么。

如果可以请帮忙

提前致谢。

非常开放的问题,但作为一个例子:

<script type="text/javascript">
function ApprovePromotion(e) {
    e.preventDefault();
    // grab data for row
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));

    // make ajax call
    $.ajax({
        url: '@Url.Action("MyAction", "MyController")',
        type: "POST",
        data: {
            // pass data to controller parameters
            ItemID: dataItem.Id,
            OtherField: dataItem.OtherField
        },
        success: function (response) {
            // On success do something. I'll switch to index
            window.location.href = '@Url.Action("Index", "MyController")';
        }
    });

}
</script>