gpt4 book ai didi

asp.net-mvc-3 - 如何更改获取数据的 WebGrid 操作 (.NET MVC3)

转载 作者:行者123 更新时间:2023-12-01 23:16:30 25 4
gpt4 key购买 nike

我有一个呈现 WebGrid 的部分 View 。我的 Controller 看起来像

public ActionResult Index()
{
return View();
}
public ActionResult GetUserList(int? page, string sort, string sortdir)
{
var model = UserModel.getList(page,sort,sortdir);
return PartialView("_UserList",model);
}

Index.cshtml:
....<br/>
@Html.Action("GetUserList")

问题是,每次我单击网格导航或排序链接时,它都会调用 Index方法。如何使 Webgrid 执行不同的操作(在本例中为 GetUserList)?我确信我可以在前面加上 GetUserList使用 jquery 到网格中的所有链接,但我相信这应该是一个更好的方法。
也有可能我所做的完全错误,所以感谢您的建议。

最佳答案

经过大量的摸索和挖掘(甚至用 WebGrid 的源代码摆弄 Reflector),我得出的结论是,使用 WebGrid,您无法控制/更改标题链接操作。

要创建 header 链接 URL,路径取自 HttpContext.Request.Path,因此无法自定义它以指向不同的路由。

一个非常丑陋的黑客是利用 jQuery Ajax 的事件(因为标题链接使用 jQuery.load 进行排序)并覆盖 URL:

<a href="#" onclick="$('#myGrid').load('/?sort=AlbumId&amp;sortdir=ASC&amp;__=634486582282704242 #myGrid');">Album Id</a>

更好的解决方案是使用:

  • Telerik Grid 可让您指定 custom routes并且在渲染布局方面也提供了更大的灵 active
  • MvcContrib Grid (不确定这是否允许您修改标题链接,但肯定比 WebGrid 提供更多的灵 active )

关于asp.net-mvc-3 - 如何更改获取数据的 WebGrid 操作 (.NET MVC3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5968169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com