如何在asp.net mvc中的ajax调用中发送查询字符串中的参数

时间:2010-10-08 13:35:59

标签: asp.net-mvc ajax

我想在浏览分页时在查询字符串上发送选定的页面值。

为分页生成的URL如下所示:

Link/Index?page=2
Link/Index?page=3

但是在我的URL上它只显示Link/Index并执行Ajax调用。但是,如果我禁用我的Javascript,然后浏览分页,它将获得Postback并具有类似

的URL
Link/Index?page=2

哪个是完美的。但我也希望在Ajax调用中使用这种类型的URL。

我该怎么做?问题是如果我们在Javascript启用时浏览页面,它会显示链接/索引,当用户转到第2页然后是3然后按4然后按回按钮它会转到页面而不是第3页然后第2页。

以下是生成页面链接的代码:

    <%= Ajax.Pager(
        new AjaxOptions { 
            UpdateTargetId = "divGrid", LoadingElementId = "divLoading" 
        }, 
        ViewData.Model.PageSize, 
        ViewData.Model.PageNumber, 
        ViewData.Model.TotalItemCount, 
        new { controller = "LinkManagement", action = "Index" }
    )%>

1 个答案:

答案 0 :(得分:2)

这对寻呼机来说并不是一个问题,但这就是ajax的工作原理。由于您尚未创建新的完整页面请求,因此历史记录中不会存储任何内容以允许后退按钮同时保留ajax调用。你需要使用像jquery.history(http://tkyk.github.com/jquery-history-plugin/)或jquery address api这样的东西(http://www.asual.com/jquery/address/samples/api/ #/部分/?ID = 2.2)。