请阅读我的以下情况。所以我们在.net中有一个Web应用程序。由于一些客户想要支付一些自定义布局,我们首先开始使用主题。直到超过10个才行。因为之后很难维护,而且更多的人需要定制设计,所以我必须设计一个解决方案,以便用户可以通过前端页面更改少数css属性。将background-url css属性设置为.net中的内存图像
所以当用户点击一个按钮时,会生成一个名称与另一个css文件的文件夹,他可以更改属性并保存新文件。这个文件被动态地加载到某个basebage上的Page_Load上。这是好的,直到越来越多的用户为此付费,现在我们有数十个文件夹,并预计有数百个。还有权限问题,默认情况下IIS没有写入权限的应用程序文件夹。此外,部署过程通过删除整个应用程序文件夹并重新创建一个版本来构建新版本,因此我们必须做一个解决方法并制作一个包含用户css的大型文件夹的副本。无论如何,我不喜欢让数百个文件不受源代码控制的想法。
现在,我有了一个新的需求。允许用户上传自定义图像以替换我们自己的图像。所以我说现在是把时间转移到数据库的时候了。对于我解决它的基本属性。
我有一个“突变” aspx页面:
<%@ Page Language="C#" ContentType="text/css" %>
.labelText
{
color:<%= WebApplication1.UserProfile.LabelColor%>
}
所以用户配置类获取它从表中的数据。 然后在BasePage的
HtmlLink link = new HtmlLink();
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("href", "~/Styles/Override.aspx");
this.Header.Controls.Add(link);
它的工作原理确定的Page_Load中,问题的图像像这样使用:
.divHeader
{
background: 15px 0 url("logo.gif")
}
这logo.gig将由用户上传,但我会喜欢保存在数据库中。但是阅读它作为一个流时,我不能这样做:
background: 15px 0 url(WebApplication1.UserProfile.Logo)
有没有我可以指定一个CSS类对象的任何otehr方式,如果它不是什么是最好的方法?我正在考虑将图像保存在数据库中,并将其作为一个文件,类似于我们现在的文件。 我意识到,如果它是一个图像控制它会更容易,但这是现在的设计,并重新制作它有点麻烦 感谢您阅读本小说和任何oppinions在此。
非常感谢。你完全解决了我的问题 – Nial 2012-02-04 19:00:20