首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.net MVC WebGrid中页面2的URL

问Asp.net MVC WebGrid中页面2的URL
EN

Stack Overflow用户
提问于 2013-06-11 12:55:48
回答 5查看 4.1K关注 0票数 0

我正在使用Asp.Net MVC WebGrid。我的网格是通过局部视图的ajax调用显示的。因此,分页不起作用。每当我单击第二个页面时,整个页面都会刷新,url会变成

代码语言:javascript
复制
    http://localhost:2429/mvc/SSP/Home/SearchQuery?page=2

显然没有找到(404)。我认为Webgrid分页在局部视图中不能很好地工作。因此,我决定在每个页面的link.And上做一个jquery ajax调用,因为我需要一个url来从Webgrid中提取第二个页面的数据。

那么,有没有办法找到第二个网页的网址,这样我就可以从网页上提取数据并显示在第二个页面上。

EN

回答 5

Stack Overflow用户

发布于 2014-10-09 12:00:35

我觉得你需要这个

对于分页,您可以使用MVC4.Paging。

代码语言:javascript
复制
@Html.Raw(Ajax.Pager(
       new Options
       {
           PageSize = Model.PageSize,
           TotalItemCount = Model.TotalItemCount,
           CurrentPage = Model.PageNumber,
           ItemTexts = new ItemTexts() { Next = "Next", Previous = "Previous", Page = "P" },
           ItemIcon = new ItemIcon() { First = "icon-backward", Previous = "icon-chevron-left", Next = "icon-chevron-right", Last = "icon-forward" },
           TooltipTitles = new TooltipTitles() { Next = "Next page", Previous = "Previous page", Page = "Go to page {0}.", First = "Go To First Page", Last = "Go To Last Page" },
           Size = Size.normal,
           Alignment = Alignment.centered,
           IsShowControls = true,
           IsShowFirstLast = true
       },
       new AjaxOptions
       {
           UpdateTargetId = "grid-list",
           OnBegin = "beginPaging",
           OnSuccess = "successPaging",
           OnFailure = "failurePaging"
       }, new { controller = "Home", action = "Index", employee_name = ViewData["employee_name"] }))

参考:http://mvcpaging.apphb.com/

我已经实现了它&它起作用了!

示例中提到了不带回发的分页。

安装nuGet包后,

将模型传递回视图或PartialView时,需要使用ToPagedList对其进行转换

代码语言:javascript
复制
myModel = myModel.ToPagedList(currentPageIndex,rowSize);

上面的代码会为你变魔术!

但是如果你想在AJAX调用之后改变你的URL,那么你需要付出更多的努力。

参考:How to change URL after an ajax request?

票数 1
EN

Stack Overflow用户

发布于 2013-06-11 13:00:03

您还必须使用基于Ajax的分页来设计您的网格。现在,您正在为您的分页呈现锚点标记,这将导致整个页面加载。

有一些网格控件可以开箱即用地支持这一点。一个很好的例子是Telerik Kendo网格。

票数 0
EN

Stack Overflow用户

发布于 2013-06-11 16:55:07

这篇文章可能对你有帮助。

http://msdn.microsoft.com/en-us/magazine/hh288075.aspx

这并不像向网格传递一个页码那么简单,您需要将PageSize和PageNumber存储为模型的一部分。然后从视图中调用绑定方法。

就我个人而言,过去我已经创建了自己的分页帮助器,因此在控制器中传入(PageSize、TotalCount、CurrentPage),并从中带回数据的子集。这还可以防止控制器先取回所有数据,然后再对其进行分页,这对于大数据集来说效率不是很高。

编辑

我找到的另一篇文章解释了我上面所说的(第二部分)。

http://www.dotnetcurry.com/ShowArticle.aspx?ID=615

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17036733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档