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" />
ASP.NET - Web 服务器标准控件
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 转换的结果

数据源控件[编辑]

ASP.NET - 数据源控件
服务器控件 描述
SqlDataSource
AccessDataSource
ObjectDataSource
XmlDataSource
SiteMapDataSource

数据控件[编辑]

ASP.NET - 数据控件
服务器控件 描述
GridView
DetailsView
FormView
DataList

导航控件[编辑]

ASP.NET - 导航控件
服务器控件 描述
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 显示网页中所有验证错误的报告