发表评论
恩,不错。Html用来表示语义,css控制样式,js控制行为。
#3楼[
楼主]2008-04-25 02:08 |
@大犇
嗯,谢谢推荐,我会看的。最简单的话,还是直接用CSS就OK了,对个人要求相对高了些。
http://www.cnblogs.com/Emoticons/yoyocici/223852199.gif" alt="" />路过,支持!
悄悄问个问题:修改web.config文件之后,会不会导致整个网站被重新编译?
#5楼[
楼主]2008-04-25 08:36 |
@李战
是的
使用这种方式做风格切换还没有做到真正意义上的可用性,我说的可用性是美工的可用性,master page模板页对于美工来说很困难,我不赞成这种方式来进行站点风格的实现。 期待有更好的风格的切换实现。
--引用--------------------------------------------------
生鱼片: 学习
--------------------------------------------------------
谢谢啦!!!
看了 大犇 提供的换肤作品,觉得还不错,简单,还在客户端操作。
相信简单的就是最好的!
不过看楼主的分析也学习了不少,谢了!
#10楼[
楼主]2008-04-25 09:53 |
@菜菜灰
嗯,会的~~
@鹏鹏_Lovely
@music000
@生鱼片
谢谢支持~~ 在博客园就是交流嘛~~~
支持楼主的分享精神!
说点个人的看法,对于这样使用N个masterpage的做法我觉得似乎太麻烦了些,也不便于维护,比如哪怕要增加一个全局的链接,都要去修改每个文件,甚至是页面逻辑,只是风格(布局)的话单靠css已经可以胜任了。
#15楼[
楼主]2008-04-25 14:28 |
@尚雨
改页面所对应的Master Page就可以了。Master Page控制 HTML 的结构。
昨天晚上第一个看了下这篇文章,太晚了,只是浏览了下。
工作中,今天回家再看。
因为没看过,所以也不做评价。
但是很欣赏博主做文档的风格,让人有些治学严谨的感觉,包括之前的一系列文章。值得大家学习。
#17楼[
楼主]2008-04-25 14:32 |
这里Web.Config中对MasterPage的设计不够好,可以这样做改进:
在创建页面时,我们要选择一个模板。这一点非常重要,因为这个模板实际上是该页面的默认模板。当我们在Web.config中相应风格的page结点留空时(没有对此页面设置模板),那么就会应用这个模板。
所以在Web.Config中定义风格,只是覆盖了这个模板。由此,我们只用定义一套完整的Master Page模板页,供每个页面在创建时选择,而Web.config风格中设置的master page,仅用于覆盖这些模板。
在Web.Config中,我们将应用这套完整模板的风格的page结点留空即可。
最后Web.Config的设置效果可能如下所示(Handler处理程序需要修改):
<styleTemplates default="默认风格" masterRoot="~/MasterPage">
<style name="默认风格" theme="Default" >
<masterPages>
</masterPages>
</style>
<style name="春意盎然" theme="Spring" >
<masterPages>
<page path="/default.aspx" master="Default.master" />
<!--<page path="/other.aspx" master="Default.master" />-->
</masterPages>
</style>
</styleTemplates>
当我们将 “春意盎然” 下的第二个 page 结点注释掉时,它会应用创建页面时所选择的模板。“默认风格”下面没有设置 page 结点,所以对于该风格的每个页面,都会使用创建页面时所选择的模板。
BTW:我已经对下载的代码做了修改,文章也会很快更新。
#18楼[
楼主]2008-04-25 14:36 |
@5yplan
我也是受他人影响啦,之前看了很多老外以及国内同行的优秀文章,觉得不管他们的水平如何,起码态度值得尊敬。
我觉得比较好的解决方法还是
css(表现) + cookie(记录) + JS(控制)
#21楼[
楼主]2008-04-25 17:24 |
@笼民
@Sam Lin
我也比较支持这种做法,这种方法我也熟知,在文章中也说了,使用纯CSS换皮肤并非不可能。但有时候对一些风格差异特别大的情况,写一套能兼容各种风格的 XHTML 会比较困难。所以才有了这种办法,将XHTML结构分离出去处理。
另外使用这种方法,与使用CSS换肤并不产生冲突,你可以只定义一套模板页,然后让所有的风格都使用这套模板,而各个风格仅仅是Theme不同而已,万一遇到某个页面CSS换肤遇到困难,可以然后建立一个MasterPage对默认的XHTML结构进行覆盖就可以了。不是更加灵活么?
我去年写的一个博客系统完全用css来换肤,可以做到页面结构完全不同
首先支持一个!
ps:C#代码能改成像vs编辑器一样用颜色区分的吗?现在看起来有点累。
#25楼[
楼主]2008-04-26 12:19 |
真的写的很棒.我的网站正好需要这方面的思路,<a href="52syj.cn">52syj.cn</a>
很不错的说
ps:很欣赏LZ的文章风格,通俗的讲解,严谨的思路,值得偶学习。
#28楼[
楼主]2008-07-12 11:59 |
@Selfocus
谢谢鼓励 ^^