WEB开发网
开发学院WEB开发ASP.NET ASP.NET皮肤机制的实现 阅读

ASP.NET皮肤机制的实现

 2010-11-01 08:17:39 来源:WEB开发网   
核心提示: 优点:只有ASP.NET才有 缺点:包含了第一种方法的缺点,.skin的样式定制方式还要严重依赖使用ASP.NET服务端控件,ASP.NET皮肤机制的实现(2),同时也影响性能,灵活性也极低,6.读取模板文件,生成.aspx文件到每套皮肤的独立文件夹下,4.动态载入.ASCX文件(ASP.NET用户控件), 这个方法

优点:只有ASP.NET才有

缺点:包含了第一种方法的缺点,.skin的样式定制方式还要严重依赖使用ASP.NET服务端控件,同时也影响性能,灵活性也极低。

4.   动态载入.ASCX文件(ASP.NET用户控件)。

这个方法,应该也是很多使用ASP.NET的人使用的方法,有时候,它还会与第三种方法结合使用。如果对性能需求不是很严格的话,中小型项目可以使用。

实现:使用LoadControl()动态载入.ASCX文件(目标皮肤文件夹的)实现。

优点:灵活性极高,每个皮肤有独立的布局,直接使用了.CS文件的变量与方法ETC…甚至每套皮肤还有自己独立的代码文件。

缺点:影响性能。有兴趣可以自己去反编译LoadControl方法。同时,在页面要使用<%%>这种代码块,有时候感觉也有点不雅。

5.   Xml + xslt

传说xml取代html是趋势??不清楚,不了解。应该不可能。此种方法我没有深入了解过,不过大概实现应该是要这样子?每一个XML(输出数据)会有一个对应的XSL文件(控制样式)。如下:

<?xml version="1.0"encoding="ISO-8859-1" ?><breakfast_menu><food><name>Belgian Waffles</name><price>$5.95</price><description>two of our famous Belgian Waffles with plenty of real maplesyrup</description><calories>650</calories></food><food><name>Cakes</name><price>$1.95</price><description>sweet cakes</description><calories>2650</calories></food></breakfast_menu>

 
<?xmlversion="1.0" encoding="ISO-8859-1" ?><html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns="http://www.w3.org/1999/xhtml"><body style="font-family:Arial,helvetica,sans-serif;font-size:12pt;background-color:#EEEEEE"><xsl:for-each select="breakfast_menu/food"> <div style="background-color:teal;color:white;padding:4px"> <span style="font-weight:bold;color:white"><xsl:value-of select="name" /></span><xsl:value-of select="price" /></div> <divstyle="margin-left:20px;margin-bottom:1em;font-size:10pt"><xsl:value-of select="description" /> <span style="font-style:italic"><xsl:value-of select="calories" /></span></div></xsl:for-each></body></html> 
]

  这样子做,有什么好处么,我没有体验到。

6.   读取模板文件,生成.aspx文件到每套皮肤的独立文件夹下,通过地址重写指定到这些文件夹。

Tags:ASP.NETl皮肤机制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接