分享
 
 
 

ASP.NET立即上手教程(5)

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

应用样式到HTML服务器控件

WEB是一个灵活的用户接口环境,不同的站点在视觉和感觉上极尽变化之能事。层叠式样式表(CSS)的广泛应用,极大的丰富了WEB的设计。所有ASP.NET的HTML服务器控件和WEB服务器控件,已经被设计为能够提供一流的CSS样式支持。这一部分讨论如何应用样式到服务器控件,并且演示服务器控件在WEB FORMS中所提供的精细的外观控制。

应用样式到 HTML服务器控件

标准的HTML标签通过STYLE属性来支持CSS,STYLE属性由一系列成对出现的以分号分割的 属性/值 来定义。例如{font: 12pt verdana; font-weight:700;color:orange;}。关于IE浏览器对CSS属性支持的更多信息,请参考MSDN Web Workshop的 CSS Attributes Reference 页面。所有ASP.NET的 HTML服务器控件,都可以像标准HTML标志那样,接受CSS样式。下面的例子说明了把一些样式应用到不同的HTML服务器控件。如果你察看返回给客户端的源程序,你就会发现这些在控件中引用的样式送到了客户端。

C# Style1.aspx

[运行] | [源程序]

CSS也定义了CLASS属性,通过在文档中包含<style>...</style>来设置CSS样式 。这个属性的优点是仅需要定义一次,就可以应用到不同的标签上,而不需要重新定义标签本身的样式。HTML服务器控件的样式也可以用这种方式管理。请看下面的例子:

C# Style2.aspx

[运行] | [源程序]

当ASP.NET页面被解析的时候,样式信息就被组装到了System.Web.UI.HtmlControls.HtmlControl 类上的STYLE属性上(类型是CssStyleCollection)。该属性建立一个字典,以字符串索引的集合中的值,填充应用控件样式的每一个样式属性值。例如,你可以使用下面的代码设置和取回HtmlInputText服务器控件的width样式属性值。

<script language="C#" runat="server" >

void Page_Load(Object sender, EventArgs E) {

MyText.Style["width"] = "90px";

Response.Write(MyText.Style["width"]);

}

</script>

<input type="text" id="MyText" runat="server"/>

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

C# Style3.aspx

[运行] | [源程序]

应用样式到WEB服务器控件

WEB服务器控件对样式提供了额外的支持级别,即对于常用的样式设置,增加了几个强类型属性。常用的样式包括背景色、前景色、字体名称和大小、宽度、字体加重等等。这些样式属性作为HTML中可以使用的样式行为的子集,并且作为“平台”属性,在System.Web.UI.WebControls.WebControl基类中直接扩展。使用这些属性的好处在于,在开发工具,例如VS.NET中,他们提供了编译时类型检查和状态完成。

下面的例子显示了一个应用了若干样式的日历控件(作为对照,同时包含了一个没有使用样式的日历控件)。注意当你设置一个类类型的属性,例如Font,你需要使用子属性语法 属性名称-子属性名称。

C# Style4.aspx

[运行] | [源程序]

名称空间System.Web.UI.WebControls包含Style基类,可以封装常用的样式属性(其他的样式类,例如TableStyle 和 TableItemStyle,都是从这个基类继承而来)。

许多服务器控件扩展了这个类型的属性,用来指定该控件分支元素的样式。例如,日历控件扩展了许多样式属性:DayStyle, WeekendDayStyle, TodayDayStyle, SelectedDayStyle, OtherMonthDayStyle, 和 NextPrevStyle等等。你可以使用子属性语法 属性名称-子属性名称来设置这些样式的分支属性,如下面的例子:

C# Style5.aspx

[运行] | [源程序]

一个细微的差别语法,允许声明每一个Style 属性,作为子元素嵌套在web服务器控件标签中。

<ASP:Calendar ... runat="server">

<TitleStyle BorderColor="darkolivegreen" BorderWidth="3"

BackColor="olivedrab" Height="50px" />

</ASP:Calendar>

下面的例子展示了交替显示语法,但是功能上与前一个一样。

C# Style6.aspx

[运行] | [源程序]

如同处理HTML服务器控件一样,你可以使用CSS类定义来应用样式到WEB服务器控件。WebControl基类扩展了一个String属性,名叫CssClass,用来设置样式类:

C# Style7.aspx

[运行] | [源程序]

如果设置到服务器控件的属性不符合该控件的任何强类型属性,那么这个属性和值就会被放到该控件的Attributes集合中。默认的情况下,服务器控件将会不加修改的引用这些属性返回到发出请求的浏览器客户端。这就意味着,样式和类的属性可以直接应用在服务器控件,而不使用这些控件的强类型属性。当然了,明白这个概念需要理解控件的实际引用,他同样是一个应用样式的灵活的方式。对于标准的表单输入控件,这个方法特别有用。请看下面的例子:

C# Style8.aspx

[运行] | [源程序]

通过使用WebControl基类的ApplyStyle方法,WEB服务器控件的样式也能用程序来设置,就象下面这段代码:

<script language="C#" runat="server">

void Page_Load(Object Src, EventArgs E ) {

Style style = new Style();

style.BorderColor = Color.Black;

style.BorderStyle = BorderStyle.Dashed;

style.BorderWidth = 1;

MyLogin.ApplyStyle (style);

MyPassword.ApplyStyle (style);

MySubmit.ApplyStyle (style);

}

</script>

Login: <ASP:TextBox id="MyLogin" runat="server" />/<p/>

Password: <ASP:TextBox id="MyPassword" TextMode="Password" runat="server" />

View: <ASP:DropDownList id="MySelect" runat="server"> ... </ASP:DropDownList>

下面的例子演示了上面的代码

C# Style9.aspx

[运行] | [源程序]

本章小节:

1. ASP.NET的 HTML 服务器控件和 Web 服务器控件家族提供了一流的CSS样式支持。

2. 可以通过设置控件的样式或者类属性来应用样式。这些设置可以通过控件的Attributes集合用程序来访问。对于HTML服务器控件,样式属性的分支值可以通过控件的Style集合来获取。

3. 大多数常用的样式设置已经作为WEB服务器控件自身的强类型属性

4. System.Web.UI.WebControls 名称空间包含Style 基类,封装了常用的类型属性。许多Web 服务器控件扩展了这个属性,作为分支引用元素。

5. 对于服务器控件,使用 WebControl 基类的ApplyStyle方法可以用程序来设置样式。

asp.net中文专业网wincheer翻译。。。。待续。。。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有