zoukankan      html  css  js  c++  java
  • 小心ASP.NET 2.0 的Skin特性伤害到您! 软件之美,美在缺陷

            众所周知,.NET Framework 2.0为ASP.NET 2.0带来很多令人兴奋而又激动人心的特性(Feature),包括主从页(MasterPage)、异步页、回调等一大堆新的技术。但今天我要讲的,是其中一个对最终用户非常有价值的特性-主题(Skin)。
            在VS.NET 2005中使用Skin是非常容易的,过程我就不提了。但是如果没有深入了解其中的一个特点,它可能让您走很多弯路。下面是我遇到的一个问题,花了一个下午才找到原因所在:
            我有一个ASP.NET 2.0的网站项目,我在项目中使用了Skin和Web部件。在定义一个Skin时,我先定义一个CatalogZone里包含一个部件PageCatalogPart,这个部件可显示页面中所有存在并关闭状态的Web部件,并允许您加入这些Web部件到页面中。为CatalogZone设置好各种样式后将这些代码Copy到一个存放在AppThemes文件夹下的Skin定义文件中。默认情况下只需要删除其中的ID属性即可,在页面中应用(Page.Theme = YourThemeName)时,ASP.NET 2.0会自动套用其中的颜色、字体等样式。做完上面的一切后,我按下了F5键,一起都按我想象的方式运转起来了,看起来很不错,不是吗?
            在一切就绪后,我发现我还需要一个Web部件DeclarativeCatalogPart,它代表目录中的Web部件定义。通过这个Web部件来管理目录中的Web部件定义并使您可以根据这些定义产生多个实例在页面上。当我把DeclarativeCatalogPart放置到CatalogZone部件上并运行起来时,发现并没有出现页目录(5)这个选项,于是我想啊想,调啊调,最后才想起问题可能在Skin中。于是打开那个Skin文件,把里面的 <ZoneTemplate> 去掉后再次运行,一切OK。
            问题已经找到并解决了,但原因是什么呢?留给各位自己去思考。
  • 相关阅读:
    iOS中的隐式动画
    CALayer 为什么选择 cg 开头 而 不选择 UI 开头
    webStorm中的混乱代码格式化
    html5中的常用的库
    地下城勇士外挂
    开发板的时间设置有效,但重启恢复
    8148
    监控行人检测 .
    Linux设备驱动程序学习之分配内存
    快熟傅里叶算法图之音频wav文件
  • 原文地址:https://www.cnblogs.com/Johnson/p/419161.html
Copyright © 2011-2022 走看看