我正在使用MVC3 webgrid来显示,排序和分页数据。显示很好,但是当我点击新页面或请求排序时,没有任何事情发生。
这是我正在使用的代码:
@if (Model.AdsList != null)
{
WebGrid adGrid = new WebGrid(Model.AdsList, rowsPerPage: 10, canSort: true, ajaxUpdateContainerId: "adsGrid");
<div>
@adGrid.Pager(WebGridPagerModes.NextPrevious);
@adGrid.GetHtml(tableStyle: "webGrid",
headerStyle: "header",
alternatingRowStyle: "alt",
htmlAttributes: new { id = "adsGrid", width = "100%" },
columns: adGrid.Columns(
//columns
));
</div>
}
数据正确加载,但生成的链接均无效。我需要在controller
进行分页和排序吗?
编辑:由于来自其他网页的后期操作,我收到此页面。控制器中没有相同名称的GET操作。
代码如下所示在控制器
中 [HttpPost]
public ActionResult Search(SearchModel model)
{
//some operation
return view(model);
}
我也想知道分页是如何工作的。每当我点击下一页或对链接进行排序时,是否对数据库进行了webgrid查询?
答案 0 :(得分:4)
var grid = new WebGrid(source: Model, rowsPerPage: 6,canPage: true, canSort: true, );
@grid.GetHtml(headerStyle: "gridtableheader", footerStyle: "paging",
columns:
grid.Columns(
//Columns
),
mode: WebGridPagerModes.All)
//不同的分页模式
mode: WebGridPagerModes.FirstLast
mode: WebGridPagerModes.NextPrevious
mode: WebGridPagerModes.Numeric
希望这将解决您的问题