根据用户更改主题/ CSS

And*_*uhl 10 css asp.net

我正在构建一种产品,我们最终将采用白标.现在我正试图找出以编程方式促进这些要求的最佳方法,以便用户可以通过其个人资料/设置表单更新网站的基本设计(即标题颜色等).

要求:

  1. 用户可以更新徽标(这是完整的)
  2. 用户可以更新基本设计元素(基于CSS),即页眉颜色,页脚颜色,侧边栏颜色 - 所有基本CSS覆盖

我们不想使用ASP.Net主题/皮肤,因为这需要在本地文件系统中存储静态主题.我们想使用CSS覆盖基本样式并将其存储在数据库中.

我们的初始计划是将CSS存储在数据库中的一个简单varchar字段中,并使用"!"将该CSS写入Pre-Init事件的主页面.覆盖基本样式.这是最好的解决方案吗?如果没有,你做了什么来完成这个功能/

lbz*_*lbz 6

我几个月前去过那里.虽然使用由专用处理程序/ servlet生成的动态CSS是第一个解决方案,但为了提高性能,现在可以在文件上生成自定义CSS,覆盖标准CSS的基本元素:

<link rel="stylesheet" href="standard.css" />
<link rel="stylesheet" href="<%= customer_code %>/custom_style.css" />
...
<img scr="<%= customer_code %>/logo.png" />
Run Code Online (Sandbox Code Playgroud)

每个自定义CSS都有自己的URL,因此您可以让浏览器缓存它们.

这将使您保存用户将进行的每个请求:

  1. 从数据库到应用程序层的流量
  2. 从应用程序层到浏览器的流量
  3. 在应用层进行一些计算

我要说明用户应该填写一份详细说明他们想要进行的自定义的网页表单.


war*_*ren 0

您提出的方法是我解决此问题的方法:将用户可控值(可能只是颜色和字体大小)上传到链接到用户的表中。

您希望用户拥有的徽标/头像可以存储在数据库中或作为文件系统上的文件。