2
我想應用排序過Ajax,我設法將排序列名稱發送到我的控制器,並執行orderby查詢在我的數據庫中,任何人都可以告訴我如何發送排序順序嗎?反向排序MVC3 Ajax WebGrid
查看
<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>
控制器
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值仍然是相同的「ASC」 – 2011-04-16 12:43:25
@Stefan P.,嗯,這很奇怪。我剛剛測試過它,參數值正確交替。 – 2011-04-16 12:44:22
你是對的,它有效,我有兌現問題。感謝您幫助我。 – 2011-04-16 13:07:34