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.
问问题
364 次
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) 比配置文件方法好得多,原因有两个:
- 注册用户和匿名用户都可以选择页面大小
- 无需导航到设置或个人资料页面来选择页面大小
有些场景需要个人资料页面,但绝对不是这个。
于 2012-11-22T22:32:13.557 回答