ASP.NET/Web Server Controls
服务器控件是服务器可理解的标签。有三种类型的服务器控件:
- HTML 服务器控件 - 创建的 HTML 标签。在System.Web.UI.HtmlControls命名空间。绘制时作为单独一个HTML元素。
- Web 服务器控件 - 新的 ASP.NET 标签。在System.Web.UI.WebControls命名空间。绘制时对应0个或多个HTML元素。如Literal、Repeater、Placeholder对应0个HTML元素。
- Validation 服务器控件 - 用于输入验证
runat=“server”属性
[编辑]如果控件写了runat=“server”,则它是一个server控件,在后端cs源文件可以访问到该控件。如果控件不指明runat=“server”属性,则它是一个html静态控件,在后端cs源文件中无法访问该控件对象。
Html控件一般都可以使用runat=“server”属性。
大部分Asp.NET控件就是server控件,必须使用runat=“server”属性。
AutoPostBack属性
[编辑]如果控件写明了AutoPostBack="True",则它的预定义了事件处理器的事件发生后就会回传server,由server执行指定的事件处理函数,然后刷新整个页面。如果控件不指明AutoPostBack="True",则它不能定义出事件处理器。
ASP.NET - HTML 服务器控件
[编辑]HTML 服务器控件是服务器可理解的 HTML 标签。ASP.NET 文件中的 HTML 元素,默认是作为文本进行处理的。要想让这些元素可编程,需向 HTML 元素中添加 runat="server" 属性。这个属性表示,该元素将被作为服务器控件进行处理。同时需要添加 id 属性来标识服务器控件。id 引用可用于操作运行时的服务器控件。
所有 HTML 服务器控件必须位于带有 runat="server" 属性的 <form> 标签内。runat="server" 属性表明了该表单必须在服务器上进行处理。同时也表明了包含在它内部的控件可被服务器脚本访问。
HTML服务器控件 | 形式 | 描述 |
---|---|---|
HtmlAnchor | <a> |
|
HtmlButton | <button> |
|
HtmlForm | <form> |
|
HtmlGeneric | <body>、<div>、<span> 等 |
控制其他未被具体的 HTML 服务器控件规定的 HTML 元素,比如 。 |
HtmlImage | <image> |
|
HtmlInputButton | <input type="button">、<input type="submit"> 和 <input type="reset"> |
|
HtmlInputCheckBox | <input type="checkbox"> |
|
HtmlInputFile | <input type="file"> |
|
HtmlInputHidden | <input type="hidden"> |
|
HtmlInputImage | <input type="image"> |
|
HtmlInputRadioButton | <input type="radio"> |
|
HtmlInputText | <input type="text"> 和 <input type="password"> |
|
HtmlSelect | <select> |
|
HtmlTable | <table> |
|
HtmlTableCell | <td> 和 <th> |
|
HtmlTableRow | <tr> |
|
HtmlTextArea | <textarea> |
ASP.NET - Web 服务器标准控件
[编辑]Web 服务器控件是服务器可理解的特殊 ASP.NET 标签。就像 HTML 服务器控件,Web 服务器控件也是在服务器上创建的,它们同样需要 runat="server" 属性才能生效。然而,Web 服务器控件没有必要映射任何已存在的 HTML 元素,它们可以表示更复杂的元素。
创建 Web 服务器控件的语法是:
<asp:control_name id="some_id" runat="server" />
Web 服务器控件 | 描述 |
---|---|
AdRotator | 显示一个图形序列 |
BulletedList | 创建项目符号格式的列表 |
Button | 显示下压按钮 |
Calendar | 显示日历 |
CalendarDay | calendar 控件中的一天 |
CheckBox | 显示复选框 |
CheckBoxList | 创建多选的复选框组 |
DataGrid | 显示 grid 中数据源的字段 |
DataList | 通过使用模版显示数据源中的项目 |
DropDownList | 创建下拉列表 |
FileUpload | |
HiddenField | |
HyperLink | 创建超链接 |
Image | 显示图像 |
ImageButton | 显示可点击的图像 |
ImageMap | |
Label | 显示可编程的静态内容(使您对其内容应用样式) |
LinkButton | 创建超链接按钮 |
ListBox | 创建单选或多选的下拉列表 |
ListItem | 创建列表中的一个项目 |
Literal | 显示可编程的静态内容(无法使您对其内容应用样式) |
Panel | 为其他控件提供容器 |
PlaceHolder | 为由代码添加的控件预留空间 |
RadioButton | 创建单选按钮 |
RadioButtonList | 创建单选按钮组 |
Repeater | 显示绑定到控件的项目的重复列表 |
Substitution | |
Style | 设置控件的样式 |
Table | 创建表格 |
TableCell | 创建表格单元格 |
TableRow | 创建表格行 |
TextBox | 创建文本框 |
Wizard | |
Xml | 显示 XML 文件或 XSL 转换的结果 |
数据源控件
[编辑]服务器控件 | 描述 |
---|---|
SqlDataSource | |
AccessDataSource | |
ObjectDataSource | |
XmlDataSource | |
SiteMapDataSource |
数据控件
[编辑]服务器控件 | 描述 |
---|---|
GridView | |
DetailsView | |
FormView | |
DataList |
导航控件
[编辑]服务器控件 | 描述 |
---|---|
Menu | |
SiteMapPath | |
TreeView |
登录控件
[编辑]Web Parts控件
[编辑]验证控件
[编辑]验证控件(validator control)用于坚持各控件的用户输入值是否满足检验条件。Validation 服务器控件是用来验证用户输入的。如果用户输入没有通过验证,将显示一条错误消息给用户。每种 validation 控件执行一种指定类型的验证(比如验证某个指定的值或者某个范围的值)。在默认情况下,当 Button、ImageButton、LinkButton 控件被点击时,会执行页面验证。您可以设置 CausesValidation 为 false ,来阻止按钮控件被点击时进行验证。
创建 Validation 服务器控件的语法是:
<asp:validator_control_name id="some_id" runat="server" />
ASP.NET 4.5起使用UnobtrusiveValidationMode来设定JavaScript客户端的验证逻辑,其值为:
- "None":ASP.NET应用程序使用4.5版本以前的行为,JavaScript内联于网页中做客户端的验证。
- "WebForms":ASP.NET 使用HTML5数据属性与JavaScript后绑定的客户端的验证逻辑的脚本引用。
例如在web.Config中:
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
创建 Validation 服务器控件的语法是: <asp:control_name id="some_id" runat="server" />
Validation 服务器控件 | 描述 |
---|---|
CompareValidator | 把一个输入控件的值与另一个输入控件的值或一个固定的值进行对比 |
CustomValidator | 允许您编写一个方法,来处理输入值的验证 |
RangeValidator | 检查用户输入值是否介于两个值之间 |
RegularExpressionValidator | 确保输入控件的值匹配指定的模式 |
RequiredFieldValidator | 使输入控件成为必需(必填)的字段 |
ValidationSummary | 显示网页中所有验证错误的报告 |