我有一个绑定到普通类对象的 WebGrid。没有什么花哨。Grid 具有一些分页功能,用于显示用户列表。网格的最后一列是一个 Ajax 动作链接,它触发带有一些编辑控件的弹出 DIV。完成此编辑后,OnSuccess 事件将触发并关闭 DIV。这是我现在想刷新网格而不丢失当前页面/搜索/过滤器应用的地方。想到的一种方法是以某种方式获取 WebGrids Url,然后用 JQuery 刷新它,但是.. 我找不到检索当前 url 和参数的方法?以前有人试过吗?
更新:感谢答案,这就是我现在所采用的方法:)
ajax编辑调用的ActionResult
[HttpPost]
public ActionResult EditUserDetails(User model)
{
if (ModelState.IsValid)
{
// for the sake of brevity.
// do your edit logic here and then on success you return:
return Json(new { state = "success", id = "1", name = "John", surname = "Doe", etc = "blah" });
}
else
{
return Json(new { state = "failed", message="some error text here maybe?" });
}
}
然后在编辑上单击我将行的类设置为 .editRowSelected。(我会将其更改为 id)
然后是 Ajax 更新调用的 onSuccess:
function onSuccess(ajaxContext) {
var result = eval(ajaxContext);
if (result.state == "Success") {
var row = $('.busyEditRow');
row.html(content);
$('.busyEditRow').removeClass('busyEditRow');
}
else {
// Display some error stuffs here with the message - result.message
}
}
这将使用新数据更新网格行:)