最好的方法来页面与页面的asp.net-mvc页面

问题描述:

我有一个操作方法,它返回表单的POST请求后的PagedList <>。
我想添加分页到这个页面,但所有的分页方案似乎只适用于GET请求。最好的方法来页面与页面的asp.net-mvc页面

目前添加分页控件的唯一方法是添加一组带有一个按钮的窗体来浏览页面。这看起来很丑陋(所有的表单按钮)并且施加很多开销,因为每个表单都需要一堆隐藏的字段(大约10个)来传输所需的参数。

是否有一种干净的方式可以将大约12个可选参数添加到GET请求中? 或者有更好的方法吗?

将许多可选参数添加到GET请求的方法是使用查询字符串参数。使控制器操作的参数为空,并且如果用户提供它们,MVC框架将使用查询字符串参数填充它们,否则将它们保留为空。

我不认为使用POST进行分页通常是合适的。 POST旨在更新服务器资源。分页不会那样做。

+0

寻呼是一个导航元素。如果网页恰好同时包含某种形式的页面列表和我正在处理的应用程序所做的页面列表,则分页需要POST和更新服务器。 – 2008-12-23 17:44:34

每个分页按钮都有一个您需要提交的唯一值以及其余的表单值。所以你真的只需要诸如:

function GoToPage(pageNumber) 
{ 
    // submit form along with pageNumber 

    return false; 
} 

<a href="javascript:GoToPage(1);">1</a> 
<a href="javascript:GoToPage(2);">2</a> 
<a href="javascript:GoToPage(3);">3</a>