日期:2014-01-11  浏览次数:20394 次

应用样式到HTML服务器控件
WEB是一个灵活的用户接口环境,不同的站点在视觉和感觉上极尽变化之能事。层叠式样式
表(CSS)的广泛应用,极大的丰富了WEB的设计。所有ASP.NET的HTML服务器控件和WEB服
务器控件,已经被设计为能够提供一流的CSS样式支持。这一部分讨论如何应用样式到服务
器控件,并且演示服务器控件在WEB FORMS中所提供的精细的外观控制。
应用样式到 HTML服务器控件
标准的HTML标签通过STYLE属性来支持CSS,STYLE属性由一系列成对出现的以分号分割的
属性/值 来定义。例如{font: 12pt verdana; font-weight:700;color:orange;}。关于I
E浏览器对CSS属性支持的更多信息,请参考MSDN Web Workshop的 CSS Attributes Refer
ence 页面。所有ASP.NET的 HTML服务器控件,都可以像标准HTML标志那样,接受CSS样式
。下面的例子说明了把一些样式应用到不同的HTML服务器控件。如果你察看返回给客户端
的源程序,你就会发现这些在控件中引用的样式送到了客户端。
C# Style1.aspx
[运行] | [源程序]
CSS也定义了CLASS属性,通过在文档中包含来设置CSS样式 。这个属
性的优点是仅需要定义一次,就可以应用到不同的标签上,而不需要重新定义标签本身的
样式。HTML服务器控件的样式也可以用这种方式管理。请看下面的例子:
C# Style2.aspx
[运行] | [源程序]
当ASP.NET页面被解析的时候,样式信息就被组装到了System.Web.UI.HtmlControls.Html
Control 类上的STYLE属性上(类型是CssStyleCollection)。该属性建立一个字典,以字
符串索引的集合中的值,填充应用控件样式的每一个样式属性值。例如,你可以使用下面
的代码设置和取回HtmlInputText服务器控件的width样式属性值。

下面的这个例子,向你展示如何使用Style集合属性,通过程序来操纵HTML服务器控件的样

C# Style3.aspx
[运行] | [源程序]
应用样式到WEB服务器控件
WEB服务器控件对样式提供了额外的支持级别,即对于常用的样式设置,增加了几个强类型
属性。常用的样式包括背景色、前景色、字体名称和大小、宽度、字体加重等等。这些样
式属性作为HTML中可以使用的样式行为的子集,并且作为“平台”属性,在System.Web.U
I.WebControls.WebControl基类中直接扩展。使用这些属性的好处在于,在开发工具,例
如VS.NET中,他们提供了编译时类型检查和状态完成。
下面的例子显示了一个应用了若干样式的日历控件(作为对照,同时包含了一个没有使用
样式的日历控件)。注意当你设置一个类类型的属性,例如Font,你需要使用子属性语法
属性名称-子属性名称。
C# Style4.aspx
[运行] | [源程序]
名称空间System.Web.UI.WebControls包含Style基类,可以封装常用的样式属性(其他的
样式类,例如TableStyle 和 TableItemStyle,都是从这个基类继承而来)。
许多服务器控件扩展了这个类型的属性,用来指定该控件分支元素的样式。例如,日历控
件扩展了许多样式属性:DayStyle, WeekendDayStyle, TodayDayStyle, SelectedDaySty
le, OtherMonthDayStyle, 和 NextPrevStyle等等。你可以使用子属性语法 属性名称-子
属性名称来设置这些样式的分支属性,如下面的例子:
C# Style5.aspx
[运行] | [源程序]
一个细微的差别语法,允许声明每一个Style 属性,作为子元素嵌套在web服务器控件标签
中。
BackColor="olivedrab" Height="50px" />
下面的例子展示了交替显示语法,但是功能上与前一个一样。
C# Style6.aspx
[运行] | [源程序]
如同处理HTML服务器控件一样,你可以使用CSS类定义来应用样式到WEB服务器控件。WebC
ontrol基类扩展了一个String属性,名叫CssClass,用来设置样式类:
C# Style7.aspx
[运行] | [源程序]
如果设置到服务器控件的属性不符合该控件的任何强类型属性,那么这个属性和值就会被
放到该控件的Attributes集合中。默认的情况下,服务器控件将会不加修改的引用这些属
性返回到发出请求的浏览器客户端。这就意味着,样式和类的属性可以直接应用在服务器
控件,而不使用这些控件的强类型属性。当然了,明白这个概念需要理解控件的实际引用
,他同样是一个应用样式的灵活的方式。对于标准的表单输入控件,这个方法特别有用。
请看下面的例子:
C# Style8.aspx
[运行] | [源程序]
通过使用WebControl基类的ApplyStyle方法,WEB服务器控件的样式也能用程序来设置,就
象下面这段代码:
Login: /
Password:
View: ...
下面的例子演示了上面的代码
C# Style9.aspx
[运行] | [源程序]
本章小节:
1. ASP.NET的 HTML 服务器控件和 Web 服务器控件家族提供了一流的CSS样式支持。
2. 可以通过设置控件的样式或者类属性来应用样式。这些设置可以通过控件的Attribute
s集合用程序来访问。对于HTML服务器控件,样式属性的分支值可以通过控件的Style集合
来获取。
3. 大多数常用的样式设置已经作为WEB服务器控件自身的强类型属性
4. System.Web.UI.WebControls 名称空间包含Style 基类,封装了常用的类型属性。许多
Web 服务器控件扩展了这个属性,作为分支引用元素。
5. 对于服务器控件,使用 WebControl 基类的ApplyStyle方法可以用程序来设置样式。
asp.net中文专业网wincheer翻译。。。。待续。。。。。。。。。