Web 窗体简介[2]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 ozx 的 blog


因为 html 控件与 html 标记直接对应,所以在将现有的 asp 页面移植到 asp+ 上时,它们将会大显身手。本文稍后的部分将对这些控件以及与它们对应的 web 控件进行比较。



web 控件

asp+ 框架中的第二组服务器控件称为 web 控件。这些控件位于 system.web.ui.webcontrols 命名空间中,是从 webcontrol 基类中直接或间接派生出来的。图 2 说明了 web 控件的类层次结构。

图 2. asp+ web 控件

web 控件中包括传统的表单控件,如 textboxbutton ,以及其它更高抽象级别的控件,如 calendardatagrid 控件。它们提供了一些能够简化开发工作的特性,其中包括:

  • 丰富而一致的对象模型:webcontrol 基类实现了对所有控件通用的大量属性,这些属性包括 forecolorbackcolorfontenabled 等。属性和方法的名称是经过精心挑选的,以提高在整个框架和该组控件中的一致性。通过这些组件实现的具有明确类型的对象模型将有助于减少编程错误。

  • 对浏览器的自动检测:web 控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的 html,从而充分发挥浏览器的功能。

  • 数据绑定:在 web 窗体页面中,可以对控件的任何属性进行数据绑定。此外,还有几种 web 控件可以用来提交数据源的内容。

在 html 标记中,web 控件会表示为具有命名空间的标记,即带有前缀的标记。前缀用于将标记映射到运行时组件的命名空间。标记的其余部分是运行时类自身的名称。与 html 控件相似,这些标记也必须包含 runat="server" 属性。下面是一个声明的示例:

<asp:textbox id="textbox1" runat="server" text="[entry keywords]"></asp:textbox>

在上例中,“asp”是标记前缀,会映射到 system.web.ui.webcontrols 命名空间。

本节的其余部分将介绍已在 pdc 和 beta 1 发行版中实现的 web 控件。每个控件都带有简要的说明、声明示例和它在浏览器中的显示效果示例。按功能对这些控件进行了分类。

文本显示

label 控件用于在页面中显示只读的静态文本或数据绑定的文本:

<asp:label runat="server" text="label1" font-italic="true"></asp:label>

   

输入控件

web 控件组中包含的一些控件,允许最终用户输入将由服务器上的页面处理的数据。

textbox 控件用于提供文本编辑能力。与 label 控件相似,这里的文本也可以是数据绑定的。textbox 控件支持多种模式,可以用来实现单行输入、多行输入和密码输入:

<asp:textbox runat="server" text="textbox1"></asp:textbox>

<asp:textbox runat="server" mode="multiline" rows="3">
textbox1
</asp:textbox>

<asp:textbox runat="server" mode="password"></asp:textbox>


checkbox 控件用于生成能够在选中和清除这两种状态间切换的复选框:

<asp:checkbox runat="server" text="checkbox1" checked="true"></asp:checkbox>


radiobutton 控件与 checkbox 控件相似,但使用时通常会与其它 radiobutton 控件组成一组,以提供一组互斥的选项:

<asp:radiobutton runat="server" text="radiobutton1" groupname="group1" checked="true">
</asp:radiobutton>
<asp:radiobutton runat="server" text="radiobutton2" groupname="group1"></asp:radiobutton>


选择

下面的四个控件提供了允许用户从展示给他们的选项中进行选择的机制。选项列表的内容既可像下面的示例中那样是静态定义的,也可以使用数据源来动态填充。

dropdownlist 控件提供了将选项显示为下拉式列表,并从中进行单项选择的能力:

<asp:dropdownlist runat="server">
<asp:listitem text="choice1" value="1" selected="true"/>
<asp:listitem text="choice2" value="2"/>
</asp:dropdownlist>


listbox 控件能够以可滚动列表的形式显示选项,并允许从中选择单个或多个选项:

<asp:listbox runat="server" selectionmode="multiple">
<asp:listitem text="choice1" value="1" selected="true"/>
<asp:listitem text="choice2" value="2"/>
</asp:listbox>


checkboxlist 控件用于创建一组显示为一列或多列的 checkbox 控件:

<asp:checkboxlist runat="server">
<asp:listitem text="choice1" value="1" selected="true"/>
<asp:listitem text="choice2" value="2" selected="true"/>
</asp:checkboxlist >


radiobuttonlist 控件与 checkboxlist 控件非常相似。不同之处在于,它使用的是一组 radiobutton 控件以创建一组互斥的选项:

本文关键:web
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top