0

I'm creating a MVC application with a CRUD. In the list view I have the PagedList helper. I set the pageSize variable in the code: pageSize= 5, so the list only show 5 files and allow go to the previous and next pages. In the other side, I want to create an option called "Parameters" where the user can define yourself the "pageSize" value. I'm confused about how to do it. Thanks in advance.

4

4 回答 4

0

您可以在会话变量中写入用户选择的页面大小,并在需要时从中读取:

要写入会话,您应该调用:

Session["pagesize"]=pagesize;

要从会话中读取,您可以使用:

var pagesize = (int)Session["pagesize"];

您应该在强制转换之前检查此值是否在会话中,以避免空引用异常。

会话变量可以在您希望仅在用户工作期间保留时使用。如果你想长期保存它,你应该把它保存到数据库或文件中。

于 2012-11-22T21:59:06.727 回答
0

考虑使用个人资料提供者

http://wiki.asp.net/page.aspx/1327/profile-provider-in-aspnet-mvc/

或者创建一个定制的 UserSettings 表来自己存储设置。

于 2012-11-22T21:52:53.697 回答
0

如果你正在使用Sql Sever,那么做一个简单的表

Create Table UserProfile (
  UserId Int Not null, 
  ProfileName Varchar(50) Not null
  Value Varchar(50) Not Null
  foreign key (UserId) references [UsersTable] (UserId)
)

PageSize or any other profile您可以从该表中保存和检索。

于 2012-11-22T22:02:16.740 回答
0

现代 Web 应用程序中常见的是页面大小 <select />列表:

在此处输入图像描述

您接下来要做的是记住用户在 cookie 中的选择用户体验 (UX) 比配置文件方法好得多,原因有两个:

  1. 注册用户和匿名用户都可以选择页面大小
  2. 无需导航到设置或个人资料页面来选择页面大小

有些场景需要个人资料页面,但绝对不是这个。

于 2012-11-22T22:32:13.557 回答