我想通过点击列的标题来对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,
))
);
代码是我想要的示例效果,这是一个错误的代码。
答案 0 :(得分:0)
这是你可以开始的事情,
由于您可以生成公共链接,因此可以将这些链接绑定到对操作的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