VS2005 Web服务器控件概述

ImageMap Web 服务器控件概述

利用 ASP.NET ImageMap 控件可以创建一个图像,该图像包含许多用户可以单击的区域,这些区域称为作用点。每一个作用点都可以是一个单独的超链接或回发事件。

ImageMap 元素

ImageMap 控件主要由两个部分组成。第一个是图像,它可是任何标准 Web 图形格式的图形,如 .gif、.jpg 或 .png 文件。

第二个元素是作用点控件的集合。每个作用点控件都是一个不同的元素。对于每个作用点控件,您要定义其形状(圆形、矩形或多边形)以及用于指定作用点的位置和大小的坐标。例如,如果创建一个圆形作用点,则应定义圆心的 x 和 y 坐标以及圆的半径。

注意

可以根据需要为图像定义任意数目的作用点。不需要定义覆盖整个图形的作用点。

 

Literal Web 服务器控件概述

可以使用 Literal Web 服务器控件作为页面上其他内容的容器。Literal 最常用于向页面中动态添加内容。

将 Literal 控件与其他选项进行比较

Literal 控件表示用于向页面添加内容的几个选项之一。对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中。但是,如果要动态添加内容,则必须将内容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 Placeholder 控件。

Literal 控件与 Label 控件的区别在于 Literal 控件不向文本中添加任何 HTML 元素。(Label 控件呈现一个 span 元素。)因此,Literal 控件不支持包括位置属性在内的任何样式属性。但是,Literal 控件允许指定是否对内容编码。

Panel 和 Placeholder 控件呈现为 div 元素,这将在页面中创建离散块,与 Label 和 Literal 控件进行内嵌呈现的方式不同。

通常情况下,当希望文本和控件直接呈现在页面中而不使用任何附加标记时,可使用 Literal 控件。

在 Literal 控件中编码内容

Literal 控件支持 Mode 属性,该属性用于指定控件对您所添加的标记的处理方式。可以将 Mode 属性设置为以下值:

Transform。添加到控件中的任何标记都将进行转换,以适应请求浏览器的协议。如果向使用 HTML 外的其他协议的移动设备呈现内容,此设置非常有用。

PassThrough。添加到控件中的任何标记都将按原样呈现在浏览器中。

Encode。添加到控件中的任何标记都将使用 HtmlEncode 方法进行编码,该方法将把 HTML 编码转换为其文本表示形式。例如,<b> 标记将呈现为 &lt;b&gt;。当希望浏览器显示而不解释标记时,编码将很有用。编码对于安全也很有用,有助于防止在浏览器中执行恶意标记,显示来自不受信任的源的字符串时推荐使用此设置。有关更多信息,请参见如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入。

 

Wizard Web 服务器控件概述

通过使用窗体收集用户输入是 Web 开发中一个要反复涉及的任务。用来完成某个任务的一组窗体通常称为“向导”。ASP.NET 提供了 Wizard 控件,可以简化许多与生成一系列窗体以收集用户输入的操作关联的任务。

生成一系列相互连接的窗体来分解数据的收集工作是一种普遍的做法。可以通过在每个步骤中管理各窗体之间的导航、数据持久性和状态管理来做到这一点。

ASP.NET Wizard 控件简化了许多与生成多个窗体以及收集用户输入的操作关联的任务。Wizard 控件提供了一种简单的机制,允许轻松地生成步骤、添加新步骤或重新安排步骤。无需编写代码即可生成线性和非线性的导航,并自定义控件的用户导航。

 

MultiView 和 View Web 服务器控件概述

MultiView 和 View Web 服务器控件用作其他控件和标记的容器,并提供了一种可方便地显示信息的替换视图的方式。可以使用 MultiView 和 View 控件执行如下任务:

根据用户选择或其他条件提供备选控件集。例如,您可能允许用户从一个源 (feed) 列表中选择,其中每个源都在独立的 View 控件中配置。然后可以显示包含用户选择的源的 View 控件。可以使用 MultiView 和 View 控件作为创建多个 Panel 控件的一种替代方法。

创建多页窗体。MultiView 和 View 控件可以提供与 Wizard 控件相似的行为。Wizard 控件尤其适合于创建用户分步骤填写的窗体。Wizard 控件还支持更多内置 UI 元素(如页眉和页脚)、“上一页”和“下一页”按钮以及模板。如果要创建根据条件(而不是按顺序)更改的显示,或者如果不需要 Wizard 控件支持的额外功能,则可以使用 MultiView 控件来代替 Wizard。

 

Substitution Web 服务器控件概述

Substitution 控件用在配置为需要进行缓存的 ASP.NET 网页上。Substitution 控件允许您在页上创建一些区域,这些区域可以用动态方式进行更新,然后集成到缓存页。

动态更新缓存页的部分

缓存某个 ASP.NET 页时,默认情况下会缓存该页的全部输出。在第一次请求时,该页将运行并缓存其输出。对于后续的请求,将通过缓存来完成,该页上的代码不会运行。

在某些情况下,可能要缓存 ASP.NET 页,但需根据每个请求更新页上选定的部分。例如,您可能要缓存某页的很大一部分,但需要动态更新该页上的与时间高度相关的信息。

可以使用 Substitution 控件将动态内容插入到缓存页中。Substitution 控件不会呈现任何标记。您需要将该控件绑定到页上或父用户控件上的方法中。您要自行创建静态方法,以返回要插入到页中的任何信息。由 Substitution 控件调用的方法必须符合下面的标准:

此方法被定义为静态方法(在 Visual Basic 中为共享方法)。

此方法接受 HttpContext 类型的参数。

此方法返回 String 类型的值。

注意,Substitution 控件无法访问页上的其他控件,也就是说,您无法检查或更改其他控件的值。但是,代码确实可以使用传递给它的参数来访问当前页上下文。

在页运行时,Substitution 控件会调用该方法,然后用从该方法的返回值替换页上的 Substitution 控件。

 

GridView Web 服务器控件概述

显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。

可以使用 GridView 来完成以下操作:

通过数据源控件自动绑定和显示数据。

通过数据源控件对数据进行选择、排序、分页、编辑和删除。

另外,还可以通过以下方式自定义 GridView 控件的外观和行为:

指定自定义列和样式。

利用模板创建自定义用户界面 (UI) 元素。

通过处理事件将自己的代码添加到 GridView 控件的功能中。

注意

GridView 控件是 DataGrid 控件的后继控件。有关这两种控件之间的差异的详细信息,请参见比较 GridView 和 DataGrid Web 服务器控件。

 

FormView Web 服务器控件概述

FormView 控件使您可以使用数据源中的单个记录,该控件与 DetailsView 控件相似。FormView 控件和 DetailsView 控件之间的差别在于 DetailsView 控件使用表格布局,在该布局中,记录的每个字段都各自显示为一行。而 FormView 控件不指定用于显示记录的预定义布局。实际上,您将创建一个包含控件的模板,以显示记录中的各个字段。该模板中包含用于创建窗体的格式、控件和绑定表达式。

FormView 控件通常用于更新和插入新记录,并且通常在主/详细方案中使用,在这些方案中,主控件的选中记录决定要在 FormView 控件中显示的记录。有关更多信息及示例,请参见使用 FormView Web 服务器控件修改数据。

FormView 控件依赖于数据源控件的功能执行诸如更新、插入和删除记录的任务。即使 FormView 控件的数据源公开了多条记录,该控件一次也只显示一条数据记录。

FormView 控件可以自动对它的关联数据源中的数据进行分页,一次一个记录,但前提是数据由实现 ICollection 接口的对象表示或基础数据源支持分页。FormView 控件提供了用于在记录之间导航的用户界面 (UI)。若要启用分页行为,请将 AllowPaging 属性设置为 true,并指定一个 PagerTemplate 值。

FormView 控件公开多个您可以处理的多个事件,以便执行您自己的代码。这些事件在对关联的数据源控件执行插入、更新和删除操作之前和之后引发。您还可以为 ItemCreated 和 ItemCommand 事件编写处理程序。有关更多信息,请参见 FormView Web 服务器控件事件。

注意

FormView 控件的事件模型与 GridView 控件的事件模型相似。但是,FormView 控件不支持选择事件,因为当前记录始终是所选择的项。

 

DetailsView Web 服务器控件概述

使用 DetailsView 控件,您可以从它的关联数据源中一次显示、编辑、插入或删除一条记录。默认情况下,DetailsView 控件将记录的每个字段显示在它自己的一行内。DetailsView 控件通常用于更新和插入新记录,并且通常在主/详细方案中使用,在这些方案中,主控件的选中记录决定要在 DetailsView 控件中显示的记录。即使 DetailsView 控件的数据源公开了多条记录,该控件一次也仅显示一条数据记录。

DetailsView 控件依赖于数据源控件的功能执行诸如更新、插入和删除记录等任务。DetailsView 控件不支持排序。

DetailsView 控件可以自动对其关联数据源中的数据进行分页,但前提是数据由支持 ICollection 接口的对象表示或基础数据源支持分页。DetailsView 控件提供用于在数据记录之间导航的用户界面 (UI)。若要启用分页行为,请将 AllowPaging 属性设置为 true。

从关联的数据源选择特定的记录时,可以通过分页到该记录进行选择。由 DetailsView 控件显示的记录是当前选择的记录。

 

SiteMapDataSource Web 服务器控件概述

SiteMapDataSource Web 服务器控件从站点地图提供程序中检索导航数据,然后将数据传递给可显示该数据的控件,如 TreeView 和 Menu 控件。

注意

SiteMap 控件也显示导航数据,但该控件不需要绑定到 SiteMapDataSource 控件。有关更多信息,请参见 ASP.NET 站点导航概述。


SiteMapDataSource 控件包含来自站点地图的导航数据。此数据包括有关网站中的页的信息,如 URL、标题、说明和导航层次结构中的位置。若将导航数据存储在一个地方,则可以更方便地在网站的导航菜单中添加和删除项。

在 ASP 和 ASP.NET 的早期版本中,在向您的网站添加一个页然后在网站内的其他各页中添加指向该新页的链接时,必须手动添加链接,包括一个公共文件,或开发自定义导航功能。ASP.NET 2.0 版包含导航控件,这些控件使导航菜单的创建、自定义和维护变得更容易。

 

SiteMapPath Web 服务器控件概述

SiteMapPath 会显示一个导航路径(也称为面包屑或眉毛导航),此路径为用户显示当前页的位置,并显示返回到主页的路径链接。此控件提供了许多可供自定义链接的外观的选项。

SiteMapPath 控件包含来自站点地图的导航数据。此数据包括有关网站中的页的信息,如 URL、标题、说明和导航层次结构中的位置。若将导航数据存储在一个地方,则可以更方便地在网站的导航菜单中添加和删除项。

在 ASP 和 ASP.NET 的早期版本中,在向您的网站添加一个页然后在网站内的其他各页中添加到该新页的链接时,必须手动添加链接(包括一个公共文件)或开发自定义导航功能。ASP.NET 2.0 版包含导航控件,这些控件使导航菜单的创建、自定义和维护变得很容易。

 

Menu Web 服务器控件概述

Menu 控件用于显示 Web 窗体页中的菜单,并常与用于导航网站的 SiteMapDataSource 控件结合使用。Menu 控件支持下面的功能:

数据绑定,将控件菜单项绑定到分层数据源。

站点导航,通过与 SiteMapDataSource 控件集成实现。

对 Menu 对象模型的编程访问,可动态创建菜单,填充菜单项,设置属性等。

可自定义外观,通过主题、用户定义图像、样式和用户定义模板实现。

用户单击菜单项时,Menu 控件可以导航到所链接的网页或直接回发到服务器。如果设置了菜单项的 NavigateUrl 属性,则 Menu 控件导航到所链接的页;否则,该控件将页回发到服务器进行处理。默认情况下,链接页与 Menu 控件显示在同一窗口或框架中。若要在另一个窗口或框架中显示链接内容,请使用 Menu 控件的 Target 属性。

注意

Target 属性影响控件中的所有菜单项。若要为单个菜单项指定一个窗口或框架,请直接设置 MenuItem 对象的 Target 属性。


Menu 控件显示两种类型的菜单:静态菜单和动态菜单。静态菜单始终显示在 Menu 控件中。默认情况下,根级(级别 0)菜单项显示在静态菜单中。通过设置 StaticDisplayLevels 属性,可以在静态菜单中显示更多菜单级别(静态子菜单)。级别高于 StaticDisplayLevels 属性所指定的值的菜单项(如果有)显示在动态菜单中。仅当用户将鼠标指针置于包含动态子菜单的父菜单项上时,才会显示动态菜单。一定的持续时间之后,动态菜单自动消失。使用 DisappearAfter 属性指定持续时间。

注意

如果用户在菜单外部单击,动态菜单也会消失。


还可以通过设置 MaximumDynamicDisplayLevels 属性,限制动态菜单的显示级别数。高于指定值的菜单级别则被丢弃。

菜单项

Menu 控件由菜单项(由 MenuItem 对象表示)树组成。顶级(级别 0)菜单项称为根菜单项。具有父菜单项的菜单项称为子菜单项。所有根菜单项都存储在 Items 集合中。子菜单项存储在父菜单项的 ChildItems 集合中。

每个菜单项都具有 Text 属性和 Value 属性。Text 属性的值显示在 Menu 控件中,而 Value 属性则用于存储菜单项的任何其他数据(如传递给与菜单项关联的回发事件的数据)。在单击时,菜单项可导航到 NavigateUrl 属性指示的另一个网页。

注意

如果菜单项未设置 NavigateUrl 属性,则单击该菜单项时,Menu 控件只是将页提交给服务器进行处理。


通过设置 ImageUrl 属性,也可选择在菜单项中显示图像。

有关菜单项的更多信息,请参见 MenuItem。

 

TreeView Web 服务器控件概述

TreeView Web 服务器控件用于以树形结构显示分层数据,如目录或文件目录。它支持以下功能:

自动数据绑定,该功能允许将控件的节点绑定到分层数据(如 XML 文档)。

通过与 SiteMapDataSource 控件集成提供对站点导航的支持。

可以显示为可选择文本或超链接的节点文本。

可通过主题、用户定义的图像和样式自定义外观。

通过编程访问 TreeView 对象模型,使您可以动态地创建树,填充节点以及设置属性等。

通过客户端到服务器的回调填充节点(在受支持的浏览器中)。

能够在每个节点旁边显示复选框。

 

ASP.NET 登录控件概述

众多 ASP.NET 登录控件一起为无需编程的 ASP.NET Web 应用程序提供可靠完整的登录解决方案。默认情况下,登录控件与 ASP.NET 成员资格集成,以帮助使网站的用户身份验证过程自动化。有关 ASP.NET 成员资格的信息,请参见成员资格介绍。

默认情况下,ASP.NET 登录控件以纯文本形式工作于 HTTP 上。如果您对安全性十分关注,那么可以使用带 SSL 加密的 HTTPS。

本主题描述每个控件并提供指向其参考文档的链接。

Login 控件

Login 控件显示用于执行用户身份验证的用户界面。Login 控件包含用于用户名和密码的文本框和一个复选框,该复选框让用户指示是否需要服务器使用 ASP.NET 成员资格存储他们的标识并且当他们下次访问该站点时自动进行身份验证。

Login 控件有用于自定义显示、自定义消息的属性和指向其他页的链接,在那些页面中用户可以更改密码或找回忘记的密码。Login 控件可用作主页上的独立控件,或者您还可以在专门的登录页上使用它。

如果您一同使用 Login 控件和 ASP.NET 成员资格,将不需要编写执行身份验证的代码。然而,如果您想创建自己的身份验证逻辑,则您可以处理 Login 控件的 Authenticate 事件并添加自定义身份验证代码。

LoginView 控件

使用 LoginView 控件,可以向匿名用户和登录用户显示不同的信息。该控件显示以下两个模板之一:AnonymousTemplate 或 LoggedInTemplate。在这些模板中,您可以分别添加为匿名用户和经过身份验证的用户显示适当信息的标记和控件。

LoginView 控件还包括 ViewChanging 和 ViewChanged 的事件,您可以为这些事件编写当用户登录或更改状态时的处理程序。

LoginStatus 控件

LoginStatus 控件为没有通过身份验证的用户显示登录链接,为通过身份验证的用户显示注销链接。登录链接将用户带到登录页。注销链接将当前用户的身份重置为匿名用户。

可以通过设置 LoginText 和 LoginImageUrl 属性自定义 LoginStatus 控件的外观。

LoginName 控件

如果用户已使用 ASP.NET 成员资格登录,LoginName 控件将显示该用户的登录名。或者,如果站点使用集成 Windows 身份验证,该控件将显示用户的 Windows 帐户名。

PasswordRecovery 控件

PasswordRecovery 控件允许根据创建帐户时所使用的电子邮件地址来找回用户密码。PasswordRecovery 控件会向用户发送包含密码的电子邮件。

您可以配置 ASP.NET 成员资格,以使用不可逆的加密来存储密码。在这种情况下,PasswordRecovery 控件将生成一个新密码,而不是将原始密码发送给用户。

您还可以配置成员资格,以包括一个用户为了找回密码必须回答的安全提示问题。如果这样做,PasswordRecovery 控件将在找回密码前提问该问题并核对答案。

PasswordRecovery 控件要求您的应用程序能够将电子邮件转发给简单邮件传输协议 (SMTP) 服务器。您可以通过设置 MailDefinition 属性自定义发送给用户的电子邮件的文本和格式。

注意

电子邮件中的密码信息是以明文形式发送的。

CreateUserWizard 控件

CreateUserWizard 控件收集潜在用户提供的信息。默认情况下,CreateUserWizard 控件将新用户添加到 ASP.NET 成员资格系统中。

CreateUserWizard 控件收集下列用户信息:

用户名

密码

密码确认

电子邮件地址

安全提示问题

安全答案

此信息用来对用户进行身份验证并找回用户密码(如果需要的话)。

注意

CreateUserWizard 控件从 Wizard 控件继承。

ChangePassword 控件

通过 ChangePassword 控件,用户可以更改其密码。用户必须首先提供原始密码,然后创建并确认新密码。如果原始密码正确,则用户密码将更改为新密码。该控件还支持发送关于新密码的电子邮件。

ChangePassword 控件包含显示给用户的两个模板化视图。第一个模板是 ChangePasswordTemplate,它显示用来收集更改用户密码所需的数据的用户界面。第二个模板是 SuccessTemplate,它定义当用户密码更改成功以后显示的用户界面。

ChangePassword 控件由通过身份验证和未通过身份验证的用户使用。如果用户未通过身份验证,该控件将提示用户输入登录名。如果用户已通过身份验证,该控件将用用户的登录名填充文本框。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值