ASPNET提供两种类型的服务器控件:HTML服务器控件和Web服务器控件。
大多数的控件都继承自一个特定的基类(WebControl)。
定制页面控件外观的一种方法是改变控件的属性。
服务器控件的公共属性:
AccessKey:快捷键设置
Attribute:允许定义“未定义的额外属性”。
BackColor:背景色
BorderColor:边框颜色
BorderWidth:边框线宽
BorderStyle:边框的样式
CssClass:自动CSS类文件
Enabled:
Font:所有文本的字体
ForeColor:所有文本的颜色
Height:
SkinID:
Style:把CSS样式应用于控件
TabIndex:
ToolTip:
Width:
改变ASPNET页面上特定元素的外观和操作方式的一种方法是对元素应用样式。
对页面元素应用已定义好的外观和操作方式的最常见方法是直接使用各种改变样式的HTML元素,如<font>、<b>和<i>。
使用CSS可以用两种不同的方法把格式化属性应用于整个文的HTML标记上,一种方法是使用内部样式,把这些样式直接放在页面上;另一种是把这些样式放在一个外部的样式表中。
样式直接应用于HTML元素
<p style="color:Blue; font-weight:bold">Pork chops and applesauce</p>
这样的方式其结构很难维护。把所有样式放在一个样式表中比较好。可以使用两种方法建立样式表。
使用“Visual Studio样式构建器”,使用菜单“格式”-》“新建样式”打开窗口。
可以创建一个外部样式表。
也可以创建内部样式表。只有把样式应用于少量页面时,才考虑使用内部样式表。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="useInCss.aspx.vb" Inherits="useInCss" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> body { font-family:Verdana; } a:link { text-decoration:none; color:Blue; } a:visited { text-decoration:none; color:Blue; } a:hover { text-decoration:underline; color:red; } </style> </head> <body> <form id="form1" runat="server"> <div> <a href="Default.aspx">Home</a> </div> </form> </body> </html>
内部样式表在开闭<head>元素中设置。最好将内部样式表放在Head元素中。
注意:将HTML注释放在样式定义的外部,会在非常旧的浏览器中隐藏这些定义。
所有的HTML服务器空间都派生于HtmlControl基类(System.Web.UI.HtmlControls.HtmlControl类)。
- Attribute:为控件中指定的所有可用属性提供名称/值的集合,包括定制的属性
- Disabled:是否禁用
- EnableTheming:是否参与页面主题功能
- EnableViewState:是否参与页面的视图状态功能
- ID:标识符
- Page:page对象的引用
- Parent:
- Site:Web站点的信息
- SkinID:
- Style:CSS样式
- TagName:
- Visible:
基类HtmlContainerControl是遵命为处理需要闭标记的Html元素而设计的。HtmlContainerControl派生于HtmlControl,其中最重要的是InnerText和InnerHtml属性。
InnerHtml:允许用户指定包含Html元素的内容。
InnerText:允许用户指定放在开闭标记之间的纯文本。
所有的HTML服务器控件的类
HtmlAnchor控制<a>元素
HtmlButton控制<button>元素
HtmlForm控制<form>元素
HtmlHead控制<head>元素
HtmlImage控制<img>元素
HtmlnputButton控制<input type=”button”>元素
HtmlInputCheckBox控制<input type=”checkbox”>元素
HtmlInputFile控制<input type=”file”>元素
HtmlInputHidden控制<input type=”hidden”>元素
HtmlInputImage控制<input type=”image”>元素
HtmlInputPassword控制<input type=”password”>元素
HtmlInputRadioButtonList控制<input type=”radio”>元素
HtmlInputReset控制<input type=”reset”>元素
HtmlInputSubmit控制<input type=”submit”>元素
HtmlInputText控制<input type=”text”>元素
HtmlLink控制<link>元素
HtmlMeta控制<meta>元素
HtmlSelect控制<select>元素
HtmlTable控制<table>元素
HtmlTableCell控制<td>元素
HtmlTableRow控制<tr>元素
HtmlTitle控制<title>元素
HtmlGenericControl类可以对任意Html元素进行服务器端的访问。
HtmlGenericControl类
它的一些功能不能从ASPNET提供的其他服务器控件获取,例如:用HtmlGeneriControl类可以对<meta><p><span>或其他元素进行服务器端访问,当使用其他类不能进行这样的访问。
使用HtmlGenericControl类和其他Html类,可以通过服务器端代码操纵ASPNET页面上的所有元素。