日期:2014-05-19  浏览次数:20461 次

咨询:关于皮肤
首次用vs2005开发WEB程序,现咨询以下信息

发的程序是基于服务器端的WEB程序,要用ASP.net的SKIN的功能实现换肤的功能。现在明白在Theme的文件夹下建立响应的.skin和CSS。通过SkinId来改变相应控件的属性。但现在想通过数据库的形式,来自定义这些属性。

1.skinsetup.aspx(这个页面来设定控件的属性,但要改变数据库相应皮肤表的值)。
2.当用户设定完皮肤后,要从数据库读取设定的数值,来改变界面。

不知道.skin内可否绑定数据库的表?

有相应的介绍请提供连接,有知道的朋友请给点建议。谢谢

------解决方案--------------------
我用的是 <link href= " <%= SNS.Library.Tools.StyleHelper.GetStyle( "../css/common.css ",Session[ "MyStyle "].ToString()) %> " type= "text/css " rel= "stylesheet ">

用户登录时从数据库中找的他的MyStyle,放到Session中。

------解决方案--------------------
使用服务器标志来访问 后台变量 ,后台变量可以取数据库的值!
html中使用如 <img imgurl= " <%=imgpath%> "> </img>
而变量imgpath在相应的后台文件定义好,即可!
------解决方案--------------------
使用服务器标志来访问 后台变量 ,后台变量可以取数据库的值!
html中使用如 <img imgurl= " <%你想要的URl%> "> </img>
而变量imgpath在相应的后台文件定义好,即可!
------解决方案--------------------
这个是CSS的问题吧!
------解决方案--------------------
skin文件本来就可以随时覆盖,其实甚至所有aspx、ascx和asmx等文件都可以随时覆盖,这是asp.net本来就设计好的。你可以上传、或者由代码产生这些文件。
------解决方案--------------------
1 . skin表存储所有skin,改表skin的页面从改表取值
2 . 人员表,加skin列,记录改人所选择的skin,一旦这个人修改了skin,就存入改表
3 . 每个页面都继承一个页面基类,在页面基类,根据当前登陆人,取到该人的skin,写入public变量 Skin ;
4 . 页面的aspx 页面,通过这种机制得到改人的css,
<LINK href="../css/<%=Skin%>.css" type=text/css rel=stylesheet >

完全可行