Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何允许用户更改css并加载自己的样式_Jquery_Asp.net Mvc 3_Css - Fatal编程技术网

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

Jquery 如何允许用户更改css并加载自己的样式,jquery,asp.net-mvc-3,css,Jquery,Asp.net Mvc 3,Css,目前我正在进行asp.NETMVC项目,该项目将有2个或更多主题,css主题,所以我想问什么是处理此类请求的最佳wqy。 我是否可以允许用户在css文件中写入内容,或者在用户登录后使用jquery在数据库中存储一些css值并将其加载到css中? 我只是在寻找最好的方法和方法,让它既漂亮又流畅。您应该将CSS值存储在数据库中,然后在用户登录时加载它。这是最简单的方法 然而,当你的网站有很多日志用户时,它会大大降低网站的速度 更高级的方法是,当用户填写表单并单击“保存”时,php脚本可以生成并保存一

目前我正在进行asp.NETMVC项目,该项目将有2个或更多主题,css主题,所以我想问什么是处理此类请求的最佳wqy。 我是否可以允许用户在css文件中写入内容,或者在用户登录后使用jquery在数据库中存储一些css值并将其加载到css中?
我只是在寻找最好的方法和方法,让它既漂亮又流畅。

您应该将CSS值存储在数据库中,然后在用户登录时加载它。这是最简单的方法

然而,当你的网站有很多日志用户时,它会大大降低网站的速度


更高级的方法是,当用户填写表单并单击“保存”时,php脚本可以生成并保存一个CSS文件,该文件可以称为user_id.CSS。我不记得为什么功能会这样做,但谷歌或这个网站是你的朋友在这里。然后,当用户登录CSS文件时,该位置将保存在数据库中并在head标记中调用

,您应该将CSS值存储在数据库中,然后在该用户登录时加载它。这是最简单的方法

然而,当你的网站有很多日志用户时,它会大大降低网站的速度


更高级的方法是,当用户填写表单并单击“保存”时,php脚本可以生成并保存一个CSS文件,该文件可以称为user_id.CSS。我不记得为什么功能会这样做,但谷歌或这个网站是你的朋友在这里。然后,当用户登录CSS文件位置时,该位置将保存在数据库中,并在head标记中调用

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

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

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

在您的评论之后:

如果想要控制用户创建他们自己的样式,我认为基本上应该是颜色和字体的改变,你可以用相同的类名创建不同的css文件,并在登录后加载它们。根据数据库中针对用户的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" />

});

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

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

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

在您的评论之后:

如果想要控制用户创建他们自己的样式,我认为基本上应该是颜色和字体的改变,你可以用相同的类名创建不同的css文件,并在登录后加载它们。根据数据库中针对用户的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" />

});

您是否有您创建的不同主题,或者用户可以创建他们自己的主题并保存以供将来登录?我已经创建了2个css主题,但我想将来用户会希望创建他们自己的主题,所以我的问题是关于这一部分:1如何存储用户样式以及在哪里?2如何加载它,甚至可能因为用户的css而使用cookie?您是否创建了不同的主题,或者用户可以创建自己的主题并保存以供将来登录?我已经创建了2个css主题,但我想将来用户会希望创建自己的主题,所以我的问题是关于这一部分:1如何存储用户样式和位置?2由于用户的css,如何加载它,甚至可能为用户使用cookie?我不使用php:我很好奇你有没有将css存储到数据库并加载到用户登录的例子?我只使用php。当然也可以使用其他脚本语言我不使用php:我很好奇你有没有将css存储到数据库并加载到用户登录的例子?我只使用php。当然,它可以与其他脚本语言一起使用