mvc asp.net:webgrid分页不起作用

时间:2013-08-14 22:39:06

标签: c# asp.net asp.net-mvc razor webgrid

我正在使用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>)

有分页,但链接只是一个'#'。

1 个答案:

答案 0 :(得分:1)

您已指定ajaxUpdateContainerId。这意味着您的分页是基于AJAX的 - 因此href中的#。如果您需要网址,则需要删除ajaxUpdateContainerId