Wizard控件
Wizards控件为用户提供了呈现一连串步骤的基础架构,这样可以访问所有步骤中包含的数据,并方便地进行前后导航。
与MultiView控件类似,Wizard包含一个WizardStep对象集合。
WizardStep从View类继承,而且WizardStep和Wizard控件之间的关系与View和MultiView的关系类似。
所有WizardStep中的所有控件都位于页面控件树中,且无论哪个WizardStep可见,都可以在运行时通过代码实现控件访问。当用户单击一个导航按钮或链接时,页面将被提交到服务器。但是,不支持跨页提交。
Wizard控件负责导航,包括线性导航(从一步转到下一步或上一步)和非线性导航(从一步转到任意其他步)。该控件能够自动创建合适的按钮,例如Next,Previous以及Finish。第一步没有Previous按钮,最后一步没有Next按钮。通过设置可以使得一些步骤只能被导航一次。默认情况下,Wizard控件显示一个包含导航链接的工具栏,这让用户可以从当前步骤转到其他步骤。
Wizard控件的所有外观特征几乎都可以通过样式和模板来自定义,包括各种各样的按钮和链接、标题和页脚、工具条和WizardStep。
例如:
<asp:Wizard ID="Wizard1" runat="server">
<WizardSteps>
<asp:WizardStep ID="WizardStep1" runat="server" Title="Step 1">
1</asp:WizardStep>
<asp:WizardStep ID="WizardStep2" runat="server" Title="Step 2">
2</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
将内容添加到一个Wizard步骤
单击WizardStep的内容区域,可以输入文本或插入控件,也可在源视图中编辑
添加Wizard步骤
单击Wizard控件的智能标记并选择“Add/Remove”WizardStep,打开WizardStep集合编辑器添加,也可在源视图中编辑
Wizard控件与按钮外观无关的属性
名称 说明
ActiveStep WizardsSteps集合中当前显示的步骤
ActiveStepIndex WizardsSteps集合中当前显示的从0开始的步骤
CancelDestinationPageUrl 当用户单击取消按钮时要链接到的URL
CellPadding 单元格的内容与边框间的像素间距。默认值为0
CellSpacing 单元格间的像素间距。默认值为0
DisplayCancelButton 如果为true,则显示一个取消按钮。默认值为false
DisplaySideBar 如果为true,则显示一个工具条。默认值为false
FinishDestinationPageUrl 当用户单击完成按钮时要链接到的URL
FinishNavigationTemplate 用于指定完成步骤的导航区域的样式和内容的模板
HeaderStyle 标题区域的样式属性
HeaderTemplate 用于指定标题区域的内容和样式的模板,标题区域位于每个步骤的顶部
HeaderText 在标题区域显示的文本
NavigationButtonStyle 导航区域按钮的样式属性
NavigationStyle 导航区域的样式属性
SideBarButtonStyle 用于指定侧栏上按钮外观的样式属性
SideBarStyle 侧栏区域的样式
SideBarTemplate 用于指定侧栏区域内容和样式的模板
SkipLinkText 为不可见图像呈现替换文本
StartNavigationTemplate 用于指定Start步骤的导航区域的内容和样式的模板。
StepNavigationTemplate 用于指定一般步骤中导航区域内容和样式的模板
StepStyle WizardStep对象的样式属性
WizardSteps WizardStep对象的集合
当改变步骤时,无论由用户操作触发还是由程序触发,都将触发ActiveStepChanged事件
与按钮的显示相关的Wizard属性
按钮上所显示图像的URL:
CancelButtonImageUrl
FinishStepButtonImageUrl
FinishStepPreviousButtonImageUrl
NextStepButtonImageUrl
PreviousStepButtonImageUrl
StartStepNextButtonImageUrl
用于指定按钮外观的样式属性:
CancelButtonStyle
FinishStepButtonStyle
FinishStepPreviousButtonStyle
NextStepButtonStyle
PreviousStepButtonStyle
StartStepNextButtonStyle
按钮上显示的文本:
CancelButtonText
FinishStepButtonText
FinishStepPreviousButtonText
NextStepButtonText
PreviousStepButtonText
StartStepNextButtonText
按钮类型:
CancelButtonType
FinishStepButtonType
FinishStepPreviousButtonType
NextStepButtonType
PreviousStepButtonType
StartStepNextButtonType
大部分属性是TableItemStyle类型。该类从System.Web.UI.WebControls.Style继承,它包含用于格式化组成Wizard控件的表格行和单元格的属性。
WizardStep有一个StepType属性,值是一个WizardStepType枚举值
StepType默认为Auto,这时导航界面由WizardStep集合中步骤的顺序决定。
为StepType设置一个不同的值以修改默认行为
WizardStepType的枚举值
成员 说明
Auto 声明步骤时的顺序决定了导航的界面,这是默认值
Complete 要显示的最后步骤,它不呈现导航按钮
Finish 最后的数据采集步骤,它只呈现被动完成和上一步两个按钮
Start 第一步,只呈现一个下一步按钮
Step 呈现上一步和下一步按钮
WizardStep类包含AllowReturn属性,该属性可以强制线性导航。
设置一个步骤的AllowReturn属性为false后,则只能导航到该步骤一次。
即使显示侧栏,该步骤仍然显示在导航链接中,但单击链接不会有任何反应。
提示:AllowReturn属性只禁止用户交互。即使该步骤的AllowReturn属性已经设置为false,程序代码也可以强制返回到一个步骤。
Wizard事件
事件 事件参数 说明
ActiveStepChanged EventArgs 显示新步骤时触发
CancelButtonClick EventArgs 单击取消按钮时触发
FinishButtonClick WizardNavigationEventArgs 单击完成按钮时触发
NextButtonClick WizardNavigationEventArgs 单击下一步按钮时触发
PreviousButtonClick WizardNavigationEventArgs 单击上一步时触发
SideBarButtonClick WizardNavigationEventArgs当单击侧栏区域中的按钮时触发
WizardNavigationEventArgs的属性
Cancel 如果取消链接到下一步,则该值为true。默认值为false。
CurrentStepIndex 以0开始的WizardSteps集合中当前步骤的索引值。
NextStepIndex 以0开始的将要显示的步骤的索引值,当前为0。
Wizard控件的方法。
方法名称 返回类型 说明
GetHistory ICollection
返回一个按被访问的顺序排列的WizardStepBase 对象的集合,索引0为最近访问的步骤
GetStepType WizardStepType 步骤的类型
MoveTo void 移动到参数中指定的WizardStep对象
当需要让用户按一组定义好的步骤操作时,Wizard控件是最好的选择。