ASP。NET 服务器控件概述

文章翻译 文章翻译
文章编号: 306459 - 查看本文应用于的产品
本文引用下面的 Microsoft。NET框架类库的命名空间:
  • System.Web.UI.HtmlControls.HtmlControl
  • System.Web.UI.WebControls.WebControl
展开全部 | 关闭全部

本文内容

概要

本文提供了对 ASP。NET 的服务器控件。

对于其他 ASP。NET 概述,请参阅以下Microsoft 知识库文章:
305140 信息: ASP。NET 路线图

更多信息

ASP。NET 页框架包含多个内置服务器控件,用于提供更多的结构化编程模型站点。这些控件可提供以下功能:
  • 自动状态管理。
  • 而无需使用请求对象的对象值的简单访问。
  • 若要创建服务器端代码中的事件的反应能力结构更好的应用程序。
  • 构建 Web 用户界面的常用方法页。
  • 根据自动自定义输出在浏览器的功能。
除了内置的控件,ASP。NET 页框架还提供了创建用户控件和自定义的能力控件。用户控件和自定义控件可以增强和扩展现有的构建更丰富的用户界面控件。

HTML 服务器控件

HTML 服务器控件是超文本标记语言 (HTML)包含的元素目前 = 服务器属性。HTML 服务器控件具有相同的 HTML 输出和相同的属性及其相应的 HTML 标记。另外,HTML 服务器控件提供自动状态管理和服务器端事件。HTML 服务器控件提供了以下优点:
  • HTML 服务器控件的一对一的映射其相应的 HTML 标记。
  • 当 ASP。NET 应用程序在编译时,HTML 服务器控制与目前 = 服务器属性将被编译到程序集。
  • 大多数控件包括最常用的控件事件的OnServerEvent 。例如,"<input type="button">控件有一个OnServerClick事件。
  • 未实现以特定的 html 格式的 HTML 标记服务器控件仍可用于在服务器端。但是,添加为处理程序集。
  • 当 ASP。NET 页 reposted,HTML 服务器控件保持它们的值。
System.Web.UI.HtmlControls.HtmlControl基类中包含的所有公共属性。HTML 服务器从此类派生的控件。

要使用 HTML 服务器控件,使用以下语法 (例如使用HtmlInputText控件):
<input type="text" value="hello world" runat=server />
				
有关单个 HTML 服务器控件的详细信息在 ASP 中可用。NET,请参阅以下 Microsoft 网站以:
HtmlAnchor 控件

HtmlButton 控件

HtmlForm 控件

HtmlImage 控件

HtmlInputButton 控件

HtmlInputCheckBox 控件

HtmlInputFile 控件

HtmlInputHidden 控件

HtmlInputImage 控件

HtmlInputRadioButton 控件

HtmlInputText 控件

HtmlSelect 控件

HtmlTable 控件

HtmlTableCell 控件

HtmlTableCell 控件

HtmlTextArea 控件

Web 服务器控件

Web 控件是非常类似于 HTML 服务器控件,如按钮文本框中,和超链接,除非该 Web 控件有一套标准化的属性名称。Web 服务器控件提供了以下优点:
  • 使制造商和开发人员能够生成更容易工具或自动生成用户的应用程序接口。
  • 简化创建交互式 Web 窗体的过程这需要较少的 HTML 控件如何工作以及使该任务的知识使用这些错误。
System.Web.UI.WebControls.WebControl基类中包含的所有公共属性。大多数的网站从此类派生的服务器控件。

若要使用 Web 服务器控件,使用以下语法 (使用文本框控件为例):
<asp:textbox text="hello world" runat=server />
				
Web 服务器控件可以分为四个类别:

基本 Web 控件

基本 Web 控件提供了与他们的 HTML 相同的功能服务器控件的对应项。但是,基本 Web 控件包含其他方法、 事件和属性,您可以对其进行编程。

有关单个 Web 控件中提供的详细信息ASP。NET,请参阅以下 Microsoft 网站以:
按钮 Web 服务器控件

复选框的 Web 服务器控件

超链接的 Web 服务器控件

图像 Web 服务器控件

ImageButton Web 服务器控件

标签 Web 服务器控件

链接按钮 Web 服务器控件

文本的 Web 服务器控件

面板 Web 服务器控件

占位符 Web 服务器控件

单选按钮 Web 服务器控件

Table Web 服务器控件

TableCell Web 服务器控件

TableRow Web 服务器控件

TextBox Web 服务器控件

验证控件

验证控件来验证的值输入到页面的其他控件。验证控件执行客户端验证、 服务器端验证,或这两者,具体情况取决于将在其中显示的页面的浏览器的功能。验证控件提供了以下优点:
  • 您可以将一个或多个验证控件关联的每个要验证的控件。
  • 窗体页时执行验证提交。
  • 您可以指定以编程方式验证是否应发生,这非常有用,如果您希望提供一个取消按钮,以便用户可以退出,而无需填写所有字段中的有效数据。
  • 验证控件自动检测是否应在客户端或服务器上执行验证侧边。

    注意在回发操作完成之前,客户端验证捕获错误。因此,如果您有一个页面上的客户端和服务器端验证控件的组合,在客户端验证失败将被抢占的服务器端验证。
有关单独验证控件在 ASP 中可用的。NET,请参阅以下 Microsoft 网站以:
RequiredFieldValidator 控件

RangeValidator 控件

CompareValidator 控件



CustomValidator 控件

升级管理

列表控件

列表控件是支持的特殊 Web 服务器控件绑定到集合。您可以使用列表控件显示行中的数据自定义的模板化的格式。所有列表控件都公开的数据源数据成员属性,它们用于绑定到集合。

列表控件可以绑定到支持IEnumerableICollectionIListSource接口的集合中。例如,Microsoft Visual C#。NET 示例页显示如下:
<%@ Page Language="C#" %>
<script runat="server">
Public void Page_Load()
{
	String[] myStringArray = new String[] {"one","two","three"};
	rptr.DataSource = myStringArray;
	rptr.DataBind();
}
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
	<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
				
Microsoft Visual Basic。NET 示例页显示,如下所示:
<%@ Page Language="vb" %>
<script runat="server">
public sub Page_Load()
   	Dim myStringArray as String()
   	myStringArray = new String() {"one","two","three"}
   	rptr.DataSource = myStringArray
   	rptr.DataBind()
end sub
</script>
<html>
<body>
	<asp:repeater id=rptr runat="server">
   		<itemtemplate><%# Container.DataItem %><br></itemtemplate>
	</asp:repeater>
</body>
</html>
				
输出如下所示:
一项
两个
有关单个列表控件的详细信息在 ASP 中可用。NET,请参阅以下 Microsoft 网站以:
列表框的 Web 服务器控件

CheckBoxList Web 服务器控件

RadioButtonList Web 服务器控件

转发器的 Web 服务器控件

DataList Web 服务器控件

DataGrid Web 服务器控件

下拉列表中的 Web 服务器控件

格式控件

除了前面的控件,ASP。NET 页框架提供了几个、 特定于任务的控件,称为多功能控件。丰富的控件生成包含多个 HTML 元素以及包含丰富的功能。示例丰富的控件是日历控件和AdRotator控件。

有关各个格式的详细信息在 ASP 中可用的控件。NET,请参阅以下 Microsoft 网页站点:
AdRotator Web 服务器控件

日历 Web 服务器控件

Xml Web 服务器控件

用户控件

通常情况下,您可能希望重新使用 Web 窗体的用户界面而无需额外编写任何代码。ASP。NET 使您能够通过执行此操作转换您的 Web 窗体用户控件中。有的用户控件.ascx 文件扩展名,可以多次使用一个单独的网站中窗体。

若要转换为用户控件在 Web 窗体,请按照下列步骤:
  1. 删除所有<html>,<head>,<body>和<form>标记。</form></body></head></html>
  2. 如果@ Page指令出现在页面中,请将它更改为@ 控件
  3. @ Control指令中包含类名属性,以使该用户控件强类型化时,其实例化。
  4. 为控件指定一个描述性的文件名,并更改从.aspx 为.ascx 文件扩展名。
有关用户控件的详细信息,请参阅。在 Microsoft 中的以下主题。NET 框架软件开发工具包 (SDK)文档:
Web 窗体用户控件

自定义控件

除了内置 Web 控件,ASP。NET 还允许您若要创建您自己的自定义控件。它可能是用于开发自定义控件如果您面临着其中一种情形:
  • 要将合并两个或更多的功能内置 Web 控件。
  • 您需要扩展的一个内置功能控件。
  • 您需要一个完全不同的任何控件当前存在的控件。
有关开发自定义控件的详细信息,请参阅。在下面的主题。NET 框架 SDK 文档:
开发 ASP。NET 服务器控件

开发自定义控件: 主要概念

开发复合控件

属性

文章编号: 306459 - 最后修改: 2012年6月11日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
关键字:?
kbarttyperoadmap kbdatabinding kbinfo kbservercontrols kbvalidation kbwebforms kbmt KB306459 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 306459
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com