-1

我正在通过 asp.net 做项目。页面主题更改的一些状态(设置允许用户更改私人主题)。

例如:我使用了“关于可排序列表的 jquery”。用户可以对该列表中项目的位置进行排序。但我不知道如何在用户为每个用户排序后保存项目状态。

列表菜单:首页 关于默认值

Home,About,Default的位置可以根据用户的排序相互交换。

如何为每个用户将排序保存到数据库。

谢!

4

3 回答 3

1

我认为最好的方法是:不要重新发明轮子

ASP.Net 包含一个叫做:用户配置文件的东西

它们通过存储用户偏好来工作,并且它们适用于匿名用户和经过身份验证的用户。

当用户匿名时,他的个人资料存储在 cookie 中。当用户通过身份验证时,您可以迁移现有的匿名配置文件以将其存储在数据库中。

ASP.Net 包含为您完成所有这些工作的功能。您甚至可以使用 JavaScript 访问配置文件属性

我已经回答了几个可以解释这个过程的问题:

如何坚持匿名用户选择(例如:主题选择)

在 MVC Web 应用程序中访问 profile.newproperty

注意:如果您使用的是 Web 应用程序而不是网站,那么第一个链接中提供的答案将不起作用,这是因为Profile该类仅在使用网站时才被预编译。为了实现配置文件功能,您应该创建一个自定义类并继承自ProfileBase. 您可以使用第二个链接中指定的代码,即使该示例是专门为 MVC 制作的,配置文件类和 web.config 中的配置文件注册对于任何 Web 应用程序都是相同的

于 2012-08-10T08:08:25.057 回答
0

我认为您应该为您想要存储的每种类型的设置添加一些设置值到您的数据库中。例如,对于列表菜单,您可能有一些字段在用户订购项目时保持项目的顺序。

于 2012-08-10T07:59:12.270 回答
0

可能您需要数据库中的菜单表和 user_menu_order 表。在渲染菜单时,您可以使用 user_menu_order 表以正确的顺序对菜单项进行排序。

id | menu
---------
1 | Home
2 | About



menu_id | user_id | order
----------------
1 | 1 | 1
2 | 1 | 0
于 2012-08-10T08:03:03.750 回答