【问题标题】:Pass the telerik grid column values to controller action result将 Telerik 网格列值传递给控制器​​操作结果
【发布时间】:2017-05-10 06:28:10
【问题描述】:

我必须将 Id 和 Date 值传递给 Index 控制器中的操作结果(更新)。但我无法使用以下代码传递参数:

@(Html.Telerik().Grid(Model)
            .Name("NotesDetails")
                    .DataBinding(dataBinding => dataBinding.Ajax().Select("ListAjax", "NotesDetails"))
                .Columns(columns =>
                {

                    columns.Bound(o => o.Flag).Visible(false).Title("Flag");
                    columns.Bound(o => o.Id).Visible(false).Title("Id");
                    columns.Command(commands =>
                    {
                       commands.Custom("Flag value")
                                .Text("<img id='flag' width='20' height='10' src = '/Content/images/Flag.png'  >")
                               .Ajax(true)
                               .Action("Update", "Index", new { id=#-Id#, date = #-Date#  });
                    }).Title("Flag");

                    columns.Bound(o => o.Date).Visible(true).Title("Date");
                    columns.Bound(o => o.Author).Visible(true);
                    columns.Bound(o => o.Task).Visible(true);

                })
            .Pageable(pager =>
                {
                    pager.Style(GridPagerStyles.PageSizeDropDown | GridPagerStyles.NextPrevious);
                    pager.Position(GridPagerPosition.Both);
                    pager.PageSize(50, new int[] { 50, 100, 500 });

                })

如果我给出类似 .Action("Update", "Index", new { id=123, date = "2000/2/2"});我得到了结果

提前致谢

【问题讨论】:

    标签: model-view-controller telerik tags actionresult


    【解决方案1】:

    我们用 Jquery 的方式处理这个

    command.Custom("Update").Click("jQueryFilename.functionName").Text("Refresh User")
    

    在 jQuery 中:

    jQueryFilename.functionName = function(e) {
        e.preventDefault();
        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
        var json = JSON.stringify(dataItem);
        $.ajax({
            url: Controllername/Index,
            type: 'POST',
            contentType: "application/json",
            data: json
        }).done(function () {
            var grid = $("#Grid").data("kendoGrid");
            grid.dataSource.read();
            grid.refresh();
        }
        );
    }
    

    您需要设置 jQuery 选择器来获取您的 id 和日期,但这很简单。 编码愉快!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多