【发布时间】:2012-04-18 08:35:54
【问题描述】:
嘿嘿, 我正在开发一个 ASP.NET MVC 3 应用程序。
我有一个观点
var grid = new WebGrid(rowsPerPage: 10, ajaxUpdateContainerId: "GridDiv",canPage: true,canSort: true);
grid.Bind(source: Model);
grid.Pager(WebGridPagerModes.All);
@grid.GetHtml(htmlAttributes: new { id="grid" },
columns: grid.Columns(
grid.Column("Name"),
grid.Column("Age"),
grid.Column("Sex")
)
在控制器中,我有一个自定义的排序算法来对数据进行排序。 我有自定义升序排序和自定义降序排序。
我希望当用户单击列标题时按照我的自定义排序算法而不是内置排序算法对行进行排序。
为此我尝试了以下方法(我采用“sortdir”并相应地处理它)
控制器
public ActionResult Persons(string sortdir)
{
PersonsListModel = GetAllPersonsList();
if(sortdir=="ASC")
return View(MyAscendingCustomSortAlgorithm(PersonsListModel ));
else
return View(MyDescendingCustomSortAlgorithm(PersonsListModel ));
}
MyAscendingCustomSortAlgorithm 和 MyDescendingCustomSortAlgorithm 是返回按我的自定义算法排序的列表的函数。
当页面加载时,列表排序正确,但是当我点击标题时排序混乱。我调试了,一切正常。
我的问题是我怎样才能让它工作,并且仍然保持正确的分页
我也尝试设置canSort: false,但我无法再点击标题。
非常感谢您的帮助
【问题讨论】:
标签: c# asp.net-mvc-3 sorting webgrid