gpt4 book ai didi

jquery - 如何允许用户更改 css 并加载自己的样式

转载 作者:行者123 更新时间:2023-11-28 18:55:12 25 4
gpt4 key购买 nike

目前我在 asp.net mvc 元素上,该元素将有 2 个或更多主题,css 主题,所以我想问什么是处理这样的请求的最佳 wqy。我可以允许用户在 css 文件中写入,或者我可以在数据库中存储一些 css 值并在用户登录后使用 jquery 将其加载到 css 中吗?我只是在寻找最好的方法和方法来顺利完成。

最佳答案

如果您有预定义的主题,用户可以为他们将来的登录选择这些主题,您可以在您的数据库中创建主题表,并针对用户存储相应的主题 ID。如果用户没有选择任何主题,您将使用默认主题。

并在你的服务器上单独创建主题的css文件,每个主题都有不同的文件。

但是,如果用户为他/她的 future 登录选择主题,请在登录时对用户进行身份验证后,将其保存在您的数据库中。将值传递给表单上的任何隐藏字段并使用隐藏字段中的 id 值更改样式表并使用 javascript 在每个网页上加载相同的文件。

在您的评论之后:

如果想控制用户创建自己的样式,我认为基本上是颜色更改和字体更改,您可以创建具有相同类名的不同 css 文件,并在登录后加载它们。以数据库中的用户 ID 为基础,这将帮助您更快地加载页面并减少数据库连接。

您可以使用

获取用户 ID
if (!Page.User.Identity.IsAuthenticated)
{
MembershipUser member = Membership.GetUser();
if (member != null)
{
ProfileCommon opC = Profile.GetProfile(Email.Text);
hdnTheme.Value = opC.ThemeID;
hdnUserID.Value = member.ProviderUserKey.ToString();

}

}

在页面加载时的 ASPX 代码中

$(document).ready(function (){
var themeid = $("#hdnTheme.ClientID").val()
var UserID= $("#hdnUserID.ClientID").val()

if (themeid == 1)// for user specific theme
<link href="includes/css/"+ UserID +".css" type="text/css" rel="stylesheet" />
else if (themeid == 2) // for the theme which you have created and already the file exists
<link href="includes/css/2.css" type="text/css" rel="stylesheet" />
else
<link href="includes/css/default.css" type="text/css" rel="stylesheet" />

});

关于jquery - 如何允许用户更改 css 并加载自己的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8149321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com