网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.简单绑定要注意的问题_AX.
.正则表达式中的组集合的使用.
.Asp.net 2.0 Treeview 无限级无刷.
.GridView 分页导航.
.分析器错误信息: 未能加载文件或.
.Asp.net中多彩下拉框的实现.
.ADO.NET 2.0 - 如何建立一个 Da.
.使用DES对称加密代码,支持中文.
.asp.net1.1 开发专用模板类.
.ASP.NET 2.0 中好东西(theme)介绍.
.在asp.net中使用session常见问题.
.ASP.NET 2.0 中配合 Master Page.
.XML 自定义串行化.
.mscorwks.dll在.Net中的地位以及.
.ASP.NET 2.0的异步页面刷新.
.何时.NET中AppDomain会回收? .
.ASP.NET如何存取SQL Server数据库.
.asp.net WebForm页面间传值方法.
.正则学习:组的定义及引用方式.
.在Web DataGrid中当鼠标移到某行.

ASP.NET 2.0 中的 Theme 功能

发表日期:2006-9-18


ASP.NET 2.0 中新增加了 Theme 的功能,它的出现能让网站实现换肤更加容易。

Theme 的实现包括:CSS、Skin、MasterPage。

CSS 是用于控制所有 HTML 标记的外观。

Skin 是用于控制所有 ASP.NET 服务器调整的外观,并且可以通过属性 cssClass 定义它的 CSS 样式。

MasterPage 是 *.aspx 页面模版,不过它没有被定义到 Theme 中。

 

--------------------------------------------------------------------------------

 

·创建 Theme 的例子:

1、在 Web 项目中创建 App_Themes 目录。它是预定义的目录,ASP.NET 2.0 会自动识别其目录下的 Theme 。

2、在 App_Themes 目录创建 orangeTheme、BlueTheme 两个子目录。

3、为 App_Themes 下的每个子目录添加 Skin 文件,如 Control.Skin 。ASP.NET 2.0 会自动分析每一个 Skin 文件,在这里的命名只需要为了开发时方便分类。

4、也可以为  App_Themes 下的每个子目录添加 CSS 文件。ASP.NET 2.0 也会自动将每一个 CSS 文件添加到每一个使用此样式的页面中去。

·定义页面内容与 Theme 样式

1、default.aspx 页面定义如下:

<%@ Page Theme="OrangeTheme" %>
<html>
<head runat="server">
<title>Orange Page</title>
</head>
<body>
<form id="form1" runat="server">
Enter your name:<br />
<asp:TextBox ID="txtName" Runat="Server" />
<br /><br />
<asp:Button ID="btnSubmit" Text="Submit Name" Runat="Server"/>
</form>
</body>
</html>

2、在  OrangeTheme 主页的 Control.Skin 文件中定义如下:

注意:只能指定外观属性,不能指定如 AutoPastback 等属性。

默认未命名的 Skin 将会为所有 TextBox 类型定义外观。
<asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />
<asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" />

已经命名 SkinID 的将可以为指定 TextBox 类型定义外观。
<asp:TextBox SkinID="Title" BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />

·在页面中使用 Theme

1、在 Aspx 文件顶部 <%@ Page %> 中添加 Theme="Default" 属性。这样它就可以使用 Default 主题了。

2、如果想到在整个网站应用某个 Theme 就需要在 Web.Config 定义。

<configuration>
  <system.web>
    <pages theme="OrangeTheme" />
  </system.web>
</configuration>

这样的定义相当于默认一个 Theme 在所有网站文件中,使用时仍可以为每个页面定义 Theme 。
Skin 部分会使用 Page 面中定义的 Theme ,而 CSS 会重载默认主页中的 CSS 样式表。

3、指定好 Theme 之后所有的外观都会使用 Skin 中定义的。你也可以指定控件的 SkinID 来定义单独外观。

4、如果想用编程方式定义 Theme 必需在 Page_PreInit事件中处理,如下:

void Page_PreInit(object sender, EventArgs e)
{
    Page.Theme = Request["ThemeName"];

    如果需要以编程的方式为 Page 载入 MasterPage 文件,也需要在此定义。
    this.MasterPageFile = Request["MasterPageFile"];
}

了解了这些技术,将会让网站更加多变。

http://www.cnblogs.com/eos/archive/2006/09/16/505815.html

上一篇:在asp.net 页面中加入skype功能 人气:5040
下一篇:利用正则表达式去掉html代码 人气:7511
浏览全部ASP.NET 2.0的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐