我正在通过asp.net做项目。一些改变页面主题的状态(设置允许用户更改私人主题)。
例如:我使用了“关于可排序列表的jquery”。用户可以对此列表中的项目位置进行排序。但我不知道如何在每个用户按用户排序后保存项目状态。
列表菜单:主页关于默认
Home,About,Default的位置可以通过用户的排序互相交换。
如何为每个用户保存对DataBase的排序。
Tks!
答案 0 :(得分:1)
我认为最好的方法是:不要重新发明轮子
ASP.Net包含一些名为:User Profiles
的内容它们通过存储用户首选项来工作,它们适用于匿名用户和经过身份验证的用户。
当用户是匿名用户时,他的个人资料会存储在Cookie中。用户通过身份验证后,您可以迁移现有的匿名配置文件,以将其存储在数据库中。
ASP.Net包含为您完成所有这些工作的功能。您甚至可以使用JavaScript
访问配置文件属性我已经回答了几个可以解释这个过程的问题:
How to persist anon user selection (ex: theme selection)
accessing profile.newproperty in MVC web applications
注意:如果您使用的是Web应用程序而不是网站,则第一个链接中提供的答案将不起作用,这是因为Profile
类仅在使用网站时进行了预编译。为了实现配置文件功能,您应该创建一个自定义类并从ProfileBase
继承。您可以使用第二个链接中指定的代码,即使该示例是专门针对MVC创建的,配置文件类和web.config中的配置文件注册对于任何Web应用程序都是相同的
答案 1 :(得分:0)
我认为您应该为您要存储的每种类型的设置添加一些设置值到您的数据库。例如,对于列表菜单,您可能会有一些字段按用户订购项目的顺序保存。
答案 2 :(得分:0)
可能你需要数据库和user_menu_order表中的菜单表。在渲染菜单中,您可以使用user_menu_order表以正确的顺序对菜单项进行排序。
id | menu
---------
1 | Home
2 | About
menu_id | user_id | order
----------------
1 | 1 | 1
2 | 1 | 0