Wizard Web 服务器控件概述

更新:2007 年 11 月

使用 Wizard 控件可以简化许多与生成一系列窗体以收集用户输入的操作关联的任务。

本主题包括:

  • 方案

  • 背景

  • 代码示例

  • 类参考

方案

通过使用窗体收集用户输入是 Web 开发中一个要反复涉及的任务。用来完成某个任务的一组窗体通常称为“向导”。

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

返回页首

背景

生成一系列相互连接的窗体来分解数据的收集工作是一种普遍的做法。可以通过在每个步骤中管理各窗体之间的导航、数据持久性和状态管理来做到这一点。利用 Wizard 控件,您可以使用分离的步骤来收集数据,这样就允许用户在各步骤之间自主导航,从而获得更简单的用户体验。作为一名开发人员,您不必担心如何跨页保持数据的问题,Wizard 控件会在用户完成各个步骤时维护好状态。

向导步骤

Wizard 控件使用多个步骤来描绘用户数据输入的不同部分。该控件内的每个步骤均会给定一个 StepType,用以指示这一步骤是开始步骤、中间步骤还是完成步骤。向导可以根据需要带有任意数量的中间步骤。您可以添加不同的控件(如 TextBoxListBox 控件)来收集用户输入。当到达 Complete 步骤时,所有数据都可供访问。下面的代码示例演示带有两个步骤的 Wizard 控件。

<asp:Wizard ID="Wizard1" Runat="server">
    <WizardSteps>
        <asp:WizardStep Runat="server" Title="Step 1">
        </asp:WizardStep>
        <asp:WizardStep Runat="server" Title="Step 2">
        </asp:WizardStep>
    </WizardSteps>
</asp:Wizard>

在每个步骤中都可以添加控件和标签,并可接受用户数据。Wizard 控件可帮助管理要显示哪个步骤以及维护所收集的数据。

向导导航

Wizard 控件具有线性导航和非线性导航的功能。该控件的状态管理功能允许用户在各个步骤之间前后移动,并且在显示有侧栏的情况下,还允许用户在任何时候任意选择步骤。通过使用 StepNextButtonTextStepPreviousButtonTextFinishCompleteButtonText 属性,可以自定义该控件的根 asp:Wizard 元素中用于导航的文本。

<asp:Wizard ID="Wizard1" Runat="server"
  StepNextButtonText=" Next >> "
  StepPreviousButtonText=" << Previous "
  FinishCompleteButtonText=" Done! ">

自定义 Wizard 控件的其他方面

Wizard 控件可自动显示标题和控件的当前步骤。标题是用 HeaderText 属性自定义的。可以通过使用 HeaderTemplate 属性来调整标题的模板。

还可以选择显示一个“取消”按钮,方法是将 DisplayCancelButton 属性设置为 true。

Wizard 控件的 NavigationButtonStyle 属性提供了一种将所有按钮设置为通用样式的简单方法,同时又提供了单独自定义各个按钮的灵活性。NavigationButtonStyle 属性可应用于呈现的所有按钮。但是,您可以通过设置个别按钮的样式属性来重写此样式。

导航模板

Wizard 控件还支持一些模板,让您可以通过 StartNavigationTemplateFinishNavigationTemplateStepNavigationTemplateSideBarTemplate 属性来进一步自定义该控件的界面。

Wizard 控件事件

可以通过使用自定义代码和事件来自定义 Wizard 控件的行为。

例如,可以截获 NextButtonClick 事件,此事件在用户单击**“下一步”按钮时引发并捕获当前步骤的数据。传递到此事件的 WizardNavigationEventArgs 参数包括 CurrentStepIndexNextStepIndex 属性,让您能够基于当前步骤和后续步骤来自定义控件的行为,或在用户单击“下一步”**按钮时取消导航。

同样,可以通过使用 PreviousButtonClickFinishButtonClick 事件来自定义**“上一步”“完成”按钮的行为。也可以通过使用 CancelButtonClick 事件在用户单击“取消”**按钮时执行清理操作。

返回页首

代码示例

演练:创建基本的 ASP.NET Wizard 控件

演练:ASP.NET Wizard 控件的高级用法

返回页首

类参考

下表列出了与 Wizard 控件相关的关键类。

成员

说明

Wizard

控件的主类。

WizardNavigationEventArgs

提供 Wizard 控件中的各种导航事件所需的数据。

WizardNavigationEventHandler

表示将处理 Wizard 控件中的导航事件的方法。

WizardStep

表示 Wizard 控件中显示的一个基本步骤。

WizardStepCollection

表示 WizardStep 对象的集合,其中包含由页开发人员定义的每个步骤的用户界面。

WizardStepType

指定可在 Wizard 控件中的某个步骤显示的导航用户界面的类型。

返回页首

请参见

参考

CreateUserWizard