gpt4 book ai didi

c# - 使用 MVC3 Ajax WebGrid 进行反向排序

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:47 26 4
gpt4 key购买 nike

我想通过 Ajax 应用排序,我设法将排序列名称发送到我的 Controller 并在我的数据库中执行 orderby 查询,谁能告诉我如何也发送排序顺序?

查看

<div id="grid">
@{
var grid = new WebGrid(canPage: true, rowsPerPage: Ctrl.PageSize, canSort: true, ajaxUpdateContainerId: "grid");
grid.Bind(Model.Events, rowCount: Model.TotalRecords, autoSortAndPage: false);

grid.Pager(WebGridPagerModes.All);
@grid.GetHtml(htmlAttributes: new { id="grid" },
columns: grid.Columns(
grid.Column("Date"),
grid.Column("Type"),
grid.Column("Message")
}
</div>

Controller

public ActionResult Index(int? page, string sort)
{
var events = GetCollection();
var startPage = 0;
var result = new EventListModel();
if (page.HasValue && page.Value > 0)
{
startPage = page.Value - 1;
}

result.TotalRecords = events.Count();

switch (sort)
{
case "Type":
result.Events = events.FindAll().OrderBy(p => p.Type).Skip(startPage * PageSize).Take(PageSize).ToList();
break;
case "Message":
result.Events = events.FindAll().OrderBy(p => p.Message).Skip(startPage * PageSize).Take(PageSize).ToList();
break;
case "Date":
result.Events = events.FindAll().OrderBy(p => p.Date).Skip(startPage * PageSize).Take(PageSize).ToList();
break;
}
return View(result);
}

最佳答案

您可以使用 sortdir 参数,其可能的值为 ASCDESC:

public ActionResult Index(int? page, string sort, string sortdir)
{
...
}

因此您可以在 Controller 操作中测试参数的值并执行相应的 OrderByOrderByDescending

关于c# - 使用 MVC3 Ajax WebGrid 进行反向排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5686495/

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