Asp.net mvc 在Asp.Net MVC 3/4中设置全局参数

Asp.net mvc 在Asp.Net MVC 3/4中设置全局参数,asp.net-mvc,pagination,Asp.net Mvc,Pagination,我正在用CRUD创建一个MVC应用程序。在列表视图中,我有PagedList助手。我在代码中设置了pageSize变量:pageSize=5,因此列表仅显示5个文件,并允许转到上一页和下一页。 另一方面,我想创建一个名为“Parameters”的选项,用户可以在其中定义自己的“pageSize”值。 我不知道该怎么做。 提前感谢。考虑使用配置文件提供商 或者创建一个定制的UserSettings表来存储自己的设置。您可以在会话变量中写入用户选择的页面大小,并在需要时从中读取: 要写入会话,您应

我正在用CRUD创建一个MVC应用程序。在列表视图中,我有PagedList助手。我在代码中设置了pageSize变量:pageSize=5,因此列表仅显示5个文件,并允许转到上一页和下一页。 另一方面,我想创建一个名为“Parameters”的选项,用户可以在其中定义自己的“pageSize”值。 我不知道该怎么做。
提前感谢。

考虑使用配置文件提供商


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

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

要写入会话,您应调用:

Session["pagesize"]=pagesize;
要从会话中读取,您可以使用:

var pagesize = (int)Session["pagesize"];
您应该在强制转换之前检查该值是否在会话中,以避免出现空引用异常


当您只想在用户工作期间保留会话变量时,可以使用该变量。如果您想长时间保存,应该将其保存到数据库或文件中。

如果您使用的是
sqlserver
,则执行一个简单的表

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

您可以在此表中保存和检索
PageSize或任何其他配置文件。

现代web应用程序中常见的是页面大小
列表:

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

  • 注册用户和匿名用户都可以选择页面大小
  • 无需导航到设置或配置文件页面来选择页面大小
  • 有些场景需要配置文件页面,但肯定不是这个页面