我正在使用 mvc 3 razor 在 webgrid 上工作,并且分页根本不起作用。有分页,但链接只是一个'#'。我在另一个项目中制作了另一个,它的代码完全相同,而且效果很好!它们之间的唯一区别是,项目上不起作用的模型层是一个独立项目,与同一解决方案中的其他项目共享。这是代码:
控制器:
public ActionResult Index(int? page, string sortDir, string sort = "")
{
if (AuthRepository.hasUsuarioAutenticado)
{
List<CLIMA> list = new List<CLIMA>();
list = GetClimas(page, sortDir, sort);
return View("Index", list);
}
return RedirectToAction("Index", "Home");
}
public List<CLIMA> GetClimas(int? page, string sortDir, string sort)
{
var query = _rep.GetAll().OrderByDescending(p=>p.CLIMA_ID);
return query.ToList();
}
看法:
WebGrid grid = new WebGrid(source: Model, canSort: false, canPage: true, ajaxUpdateContainerId: "grade", rowsPerPage: 20, ajaxUpdateCallback: "grade");
@grid.GetHtml(
tableStyle: "grade",
headerStyle: "header",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("nome", header: "Cidade", format: @<text>@item.CIDADE_NOME</text>, canSort: false),
grid.Column("descricao", header: "Data", format: @<text> @item.OBSERVATION_TIME</text>, canSort: false),
grid.Column(header: "Ações", format: @<text> @Html.ActionLink("Editar", "Editar", new { id = item.CLIMA_ID })
@Html.ActionLink("Deletar", "Delete", new { id = item.CLIMA_ID }, new { @onclick = "return ConfirmaDelete();" })
@Html.ActionLink("Config. Clima", "Editar", "ClimaConfig", new { id = item.CLIMA_CONFIG }, null)
</text>)
有分页,但链接只是一个'#'。