张子阳 TraceFact

Dedicated to Asp.Net, C#, XML, DataBase, Design Pattern and Algorithms ...

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  33 随笔 :: 0 文章 :: 753 评论 :: 38 Trackbacks
posted on 2008-04-25 00:15 张子阳. 阅读(2850) 评论(29)  编辑 收藏 所属分类: Asp.Net

评论

#1楼  2008-04-25 00:29 镜涛      
恩,不错。Html用来表示语义,css控制样式,js控制行为。
  回复  引用  查看    

#2楼  2008-04-25 02:02 大犇 [未注册用户]
说实话,过于复杂了。看看这位老兄的换肤作品:
http://files.cnblogs.com/38809972/%e6%8d%a2%e8%82%a4%e6%bc%94%e7%a4%ba%e4%bb%a3%e7%a0%81.rar

  回复  引用  查看    

#3楼 [楼主] 2008-04-25 02:08 张子阳.      
@大犇

嗯,谢谢推荐,我会看的。最简单的话,还是直接用CSS就OK了,对个人要求相对高了些。

  回复  引用  查看    

#4楼  2008-04-25 08:28 李战      
路过,支持!

悄悄问个问题:修改web.config文件之后,会不会导致整个网站被重新编译?


  回复  引用  查看    

#5楼 [楼主] 2008-04-25 08:36 张子阳.      
@李战

是的
  回复  引用  查看    

#6楼  2008-04-25 08:41 生鱼片      
学习
  回复  引用  查看    

#7楼  2008-04-25 08:42 菜菜灰      
使用这种方式做风格切换还没有做到真正意义上的可用性,我说的可用性是美工的可用性,master page模板页对于美工来说很困难,我不赞成这种方式来进行站点风格的实现。 期待有更好的风格的切换实现。
  回复  引用  查看    

#8楼 [TrackBack] 2008-04-25 09:22 潜水员
[引用提示]潜水员引用了该文章, 地址: http://www.cnblogs.com/zhengyulu-2008/archive/2008/04/25/1170424.html
  回复  引用  查看    

#9楼  2008-04-25 09:25 鹏鹏_Lovely      
--引用--------------------------------------------------
生鱼片: 学习
--------------------------------------------------------



谢谢啦!!!

  回复  引用  查看    

#10楼  2008-04-25 09:25 music000      
看了 大犇 提供的换肤作品,觉得还不错,简单,还在客户端操作。
相信简单的就是最好的!
不过看楼主的分析也学习了不少,谢了!

  回复  引用  查看    

#11楼 [楼主] 2008-04-25 09:53 张子阳.      
@菜菜灰

嗯,会的~~

@鹏鹏_Lovely
@music000
@生鱼片

谢谢支持~~ 在博客园就是交流嘛~~~

  回复  引用  查看    

#12楼  2008-04-25 09:54 小菲 [未注册用户]
非常好,支持原创!!
  回复  引用  查看    

#13楼  2008-04-25 11:33 SZW      
支持楼主的分享精神!
说点个人的看法,对于这样使用N个masterpage的做法我觉得似乎太麻烦了些,也不便于维护,比如哪怕要增加一个全局的链接,都要去修改每个文件,甚至是页面逻辑,只是风格(布局)的话单靠css已经可以胜任了。
  回复  引用  查看    

#14楼  2008-04-25 11:37 留恋星空      
hehe
  回复  引用  查看    

#15楼  2008-04-25 14:24 尚雨 [未注册用户]
如果每种风格的控件位置大变化呢.
  回复  引用  查看    

#16楼 [楼主] 2008-04-25 14:28 张子阳.      
@尚雨

改页面所对应的Master Page就可以了。Master Page控制 HTML 的结构。


  回复  引用  查看    

#17楼  2008-04-25 14:32 5yplan      
昨天晚上第一个看了下这篇文章,太晚了,只是浏览了下。
工作中,今天回家再看。
因为没看过,所以也不做评价。

但是很欣赏博主做文档的风格,让人有些治学严谨的感觉,包括之前的一系列文章。值得大家学习。
  回复  引用  查看    

#18楼 [楼主] 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:我已经对下载的代码做了修改,文章也会很快更新。


  回复  引用  查看    

#19楼 [楼主] 2008-04-25 14:36 张子阳.      
@5yplan

我也是受他人影响啦,之前看了很多老外以及国内同行的优秀文章,觉得不管他们的水平如何,起码态度值得尊敬。

  回复  引用  查看    

#20楼  2008-04-25 15:09 Sam Lin      
我觉得比较好的解决方法还是
css(表现) + cookie(记录) + JS(控制)
  回复  引用  查看    

#21楼  2008-04-25 16:41 笼民      
切换css是王道

表现和结构分离。
  回复  引用  查看    

#22楼 [楼主] 2008-04-25 17:24 张子阳.      
@笼民
@Sam Lin

我也比较支持这种做法,这种方法我也熟知,在文章中也说了,使用纯CSS换皮肤并非不可能。但有时候对一些风格差异特别大的情况,写一套能兼容各种风格的 XHTML 会比较困难。所以才有了这种办法,将XHTML结构分离出去处理。

另外使用这种方法,与使用CSS换肤并不产生冲突,你可以只定义一套模板页,然后让所有的风格都使用这套模板,而各个风格仅仅是Theme不同而已,万一遇到某个页面CSS换肤遇到困难,可以然后建立一个MasterPage对默认的XHTML结构进行覆盖就可以了。不是更加灵活么?


  回复  引用  查看    

#23楼  2008-04-25 20:22 偶卖糕的      
我去年写的一个博客系统完全用css来换肤,可以做到页面结构完全不同
  回复  引用  查看    

#24楼  2008-04-25 20:56 笼民      
@偶卖糕的

nod
  回复  引用  查看    

#25楼  2008-04-26 12:16 Kai.Ma      
首先支持一个!

ps:C#代码能改成像vs编辑器一样用颜色区分的吗?现在看起来有点累。
  回复  引用  查看    

#26楼 [楼主] 2008-04-26 12:19 张子阳.      
@Kai.Ma

可以倒是可以,在文章中花花绿绿的不一定好看啊,我还是觉得简洁一些比较好,文章的XHTML都已经精减到了很高的程度。
这个风格参考了一些Ebook,以及www.asp.net 文章的样式,比如:http://www.asp.net/learn/ajax/tutorial-01-cs.aspx

  回复  引用  查看    

#27楼  2008-04-29 12:00 盖君 [未注册用户]
真的写的很棒.我的网站正好需要这方面的思路,<a href="52syj.cn">52syj.cn</a>
  回复  引用  查看    

#28楼 [TrackBack] 2008-05-06 01:05 李永京
您是否错过精彩的文章?您是否想要权威的资料?您是否需要系统的总结?在本期博客园月刊中,您可以找到这个月博客园整理性的资料。
[引用提示]李永京引用了该文章, 地址: http://www.cnblogs.com/lyj/archive/2008/05/06/1184262.html
  回复  引用  查看    

#29楼 [TrackBack] 2008-05-06 18:43 Ewin
[引用提示]Ewin引用了该文章, 地址: http://www.cnblogs.com/Ewin/archive/2008/05/06/1185636.html
  回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-25 19:22 编辑过