【问题标题】:How can I use ajax actionlink in WebGrid's header如何在 WebGrid 的标题中使用 ajax actionlink
【发布时间】:2012-08-17 10:59:36
【问题描述】:

我想通过单击列的标题以及其他一些参数发布到控制器来对 WebGrid 中的数据进行排序,但是 WebGrid 的自动排序在列标题上提供了一个固定链接,只有两个参数。

我找到了一些方法来更改 WebGrid 列标题上的链接地址,但它仅适用于公共链接而不是 ajax ActionLink,因此我不能使用部分视图来仅刷新网页的一部分。

谁能帮我解决这个问题?

var grid = new WebGrid(Model, canPage: true, rowsPerPage: 2);
@grid.GetHtml(tableStyle: "Contact``TB",headerStyle: "ContactHD",columns: grid.Columns( 
              grid.Column("ID", 
                          @Ajax.ActionLink("ID","Index","Home",new { pid = Model.PageIndex, sort=true},
                                           new AjaxOptions { UpdateTargetId = "grid", 
                                                             HttpMethod = "POST",
                                                             InsertionMode = InsertionMode.Replace 
                                                           }
                                           ),
                           model.id,
                           ))

             );

上面的代码是我想要的示例效果,是错误的代码。

【问题讨论】:

    标签: ajax asp.net-mvc razor webgrid actionlink


    【解决方案1】:

    你可以从这里开始,

    由于您能够生成公共链接,因此您可以将这些链接绑定到对操作的 jquery ajax 调用。

    Jquery 代码

    function MyMethod() {
    var url = '@Url.Action("GetData")';
    $.ajax({
    url: url,
    type: 'GET',
    cache: false,
    data: { value: strId},
    
    success: function (result) {
    $('#result).html(result);
    }
    });
    }
    

    动作

    public ActionResult GetData(string id)
    {
    return Json(new {foo="bar", ball="dragon"});
    }
    

    代码取自here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 2011-07-12
      相关资源
      最近更新 更多