Wizard控件

    可以使用 Wizard 控件执行下列操作:
    1.跨多个步骤收集相关数据。
    2.将用于收集用户输入的较大的网页细分为较小的逻辑步骤。
    3.允许在各步骤之间进行线性导航或非线性导航。

    Wizard 控件由以下部分组成:
    1.标题(Header):用户可以自定义该区域,以显示用户当前所处步骤的特定信息。
    2.向导步骤集合(WizardSteps):其中包含页面开发人员所定义的每个步骤的用户界面。
    3.侧边栏(SideBar):用于快速定位到控件中的步骤。
    4.向导按钮(NavigationButton):基于 StepType 值确定要显示的相应按钮。
    Wizard 控件中的每个步骤都具有一个 StepType 属性,用于确定该步骤所具有的导航功能的类型。如果没有为 StepType 属性指定值,则默认值为 Auto。下表列出了 StepType 属性的可用设置以及步骤的结果行为。
WizardStepType.Auto :为该步骤呈现的导航用户界面是由声明该步骤的顺序决定的。
WizardStepType.Complete :该步骤是要显示的最后一个步骤。不呈现任何导航按钮。
WizardStepType.Finish :该步骤是收集用户数据的最后一个步骤。呈现用于导航的“完成”按钮。
WizardStepType.Start :该步骤是要显示的第一个步骤。不呈现“上一步”按钮。
WizardStepType.Step :该步骤是介于第一个步骤和最后一个步骤之间的任意步骤。呈现用于导航的“上一步”和“下一步”按钮。
    提交模型: 
    使用 Wizard 控件,可以通过线性导航或非线性导航收集数据。跳过不需要的步骤或返回前面已完成的步骤以更改某个值,这种行为就属于非线性导航。Wizard 控件维持它在各步骤之间的状态,以便在 Wizard 控件的所有步骤完成之前,无需将某个步骤中输入的数据保存到数据存储区中。
    或者,如果希望在每个步骤完成(例如在引发 NextButtonClick 事件)后将已收集的数据保存到数据存储区,则应该将 WizardStepBase 对象的 AllowReturn 属性设置为 false,这样用户在提交数据后,将无法返回到前面已经完成的步骤来更改数据。

    应用示例:

ContractedBlock.gif ExpandedBlockStart.gif Default.aspx
None.gif<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
None.gif
None.gif
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
None.gif
None.gif
<script runat="server">
None.gif    
void OnNext(object sender, WizardNavigationEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif{
InBlock.gif        
// 在结束页面显示用户信息
InBlock.gif
        if (UserWizard.WizardSteps[e.NextStepIndex].StepType == WizardStepType.Finish)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            StringBuilder sb 
= new StringBuilder("");
InBlock.gif            sb.AppendFormat(
"姓名:{0}
", Name.Text);
InBlock.gif            sb.AppendFormat(
"职位:{0}", Seat.Text);
InBlock.gif            sb.AppendFormat(
"邮件:{0}", Mail.Text);
InBlock.gif            sb.AppendFormat(
"手机:{0}", Mobile.Text);
InBlock.gif            sb.AppendFormat(
"备注:{0}
", Notes.Text);
InBlock.gif            sb.AppendFormat(
"是否添加?");
InBlock.gif            LabMessage.Text 
= sb.ToString();
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

None.gif
None.gif    
void OnFinish(object sender, WizardNavigationEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif{
InBlock.gif        
//可以添加向数据库写入的代码
InBlock.gif        
// 显示信息
InBlock.gif
        LabFinish.Text = "添加成功.";
ExpandedBlockEnd.gif    }

None.gif
script>
None.gif
None.gif
<html xmlns="http://www.w3.org/1999/xhtml">
None.gif
<head runat="server">
None.gif    
<title>示例8-6title>
None.gif    
<link id="InstanceStyle" href="StyleSheet.css" type="text/css" rel="stylesheet" />
None.gif
head>
None.gif
<body>
None.gif    
<form id="Form1" runat="server">
None.gif        
<div>
None.gif            
<fieldset style="width: 310px">
None.gif                
<legend class="mainTitle">Wizard控件典型应用legend>
None.gif                
<br />
None.gif                
<asp:Wizard ID="UserWizard" HeaderText="新增用户" OnNextButtonClick="OnNext" OnFinishButtonClick="OnFinish"
None.gif                    ActiveStepIndex
="0" Height="120px" runat="server" BackColor="#FFFBD6" BorderColor="#FFDFAD"
None.gif                    BorderWidth
="1px" Font-Names="Verdana" Font-Size="0.8em">
None.gif                    
<SideBarTemplate>
None.gif                        
<div style="width: 90px;">
None.gif                            
<asp:DataList runat="Server" ID="SideBarList">
None.gif                                
<ItemTemplate>
None.gif                                    
<img src="Images/point.gif" />
None.gif                                    
<asp:LinkButton runat="server" ID="SideBarButton" ForeColor="#FFF277" Font-Underline="false">asp:LinkButton>
None.gif                                
ItemTemplate>
None.gif                            
asp:DataList>
None.gif                        
div>
None.gif                    
SideBarTemplate>
None.gif                    
<WizardSteps>
None.gif                        
<asp:WizardStep ID="WizardStep1" runat="server" Title="姓名职位">
None.gif                            
<div style="width: 220px;">
None.gif                                
<table>
None.gif                                    
<tr>
None.gif                                        
<td>
None.gif                                            姓名:
td>
None.gif                                        
<td>
None.gif                                            
<asp:TextBox runat="server" ID="Name" />
None.gif                                            
<asp:RequiredFieldValidator runat="server" ID="NameValidator" Text="*" ErrorMessage="必须输入您的姓名"
None.gif                                                SetFocusOnError
="True" ControlToValidate="Name" />
None.gif                                        
td>
None.gif                                    
tr>
None.gif                                    
<tr>
None.gif                                        
<td>
None.gif                                            职位:
td>
None.gif                                        
<td>
None.gif                                            
<asp:TextBox runat="server" ID="Seat" />
None.gif                                            
<asp:RequiredFieldValidator runat="server" ID="SeatValidator" Text="*" ErrorMessage="必须输入您的职位"
None.gif                                                SetFocusOnError
="True" ControlToValidate="Seat" />
None.gif                                        
td>
None.gif                                    
tr>
None.gif                                    
<tr>
None.gif                                        
<td height="60">
None.gif                                        
td>
None.gif                                        
<td valign="bottom">
None.gif                                            
<asp:ValidationSummary runat="server" DisplayMode="List" ID="Summary" />
None.gif                                        
td>
None.gif                                    
tr>
None.gif                                
table>
None.gif                            
div>
None.gif                        
asp:WizardStep>
None.gif                        
<asp:WizardStep ID="WizardStep2" runat="server" Title="联系方式">
None.gif                            
<div style="width: 220px;">
None.gif                                
<table>
None.gif                                    
<tr>
None.gif                                        
<td>
None.gif                                            邮件:
td>
None.gif                                        
<td>
None.gif                                            
<asp:TextBox runat="server" ID="Mail" />td>
None.gif                                    
tr>
None.gif                                    
<tr>
None.gif                                        
<td>
None.gif                                            手机:
td>
None.gif                                        
<td>
None.gif                                            
<asp:TextBox runat="server" ID="Mobile" />td>
None.gif                                    
tr>
None.gif                                    
<tr>
None.gif                                        
<td height="60">
None.gif                                        
td>
None.gif                                    
tr>
None.gif                                
table>
None.gif                            
div>
None.gif                        
asp:WizardStep>
None.gif                        
<asp:WizardStep ID="WizardStep3" runat="server" Title="备注信息">
None.gif                            
<div style="width: 220px;">
None.gif                                
<table>
None.gif                                    
<tr>
None.gif                                        
<td valign="top">
None.gif                                            备注:
td>
None.gif                                        
<td>
None.gif                                            
<asp:TextBox runat="server" ID="Notes" Rows="6" Columns="18" TextMode="MultiLine" />td>
None.gif                                    
tr>
None.gif                                
table>
None.gif                            
div>
None.gif                        
asp:WizardStep>
None.gif                        
<asp:WizardStep ID="WizardStep4" runat="server" StepType="Finish" Title="小结">
None.gif                            
<div style="width: 220px;">
None.gif                                
<asp:Label runat="server" ID="LabMessage" />
None.gif                            
div>
None.gif                        
asp:WizardStep>
None.gif                        
<asp:WizardStep ID="WizardStep5" runat="server" StepType="Complete" Title="结束">
None.gif                            
<div style="width: 310px;">
None.gif                                
<asp:Label runat="server" ID="LabFinish" />
None.gif                            
div>
None.gif                        
asp:WizardStep>
None.gif                    
WizardSteps>
None.gif                    
<SideBarStyle BackColor="#990000" Font-Size="0.9em" VerticalAlign="Top" />
None.gif                    
<NavigationButtonStyle Width="80px" BackColor="White" BorderColor="#CC9966" BorderStyle="Solid"
None.gif                        BorderWidth
="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />
None.gif                    
<SideBarButtonStyle ForeColor="White" />
None.gif                    
<HeaderStyle Height="24px" BackColor="#FFCC66" BorderColor="#FFFBD6" BorderStyle="Solid"
None.gif                        BorderWidth
="2px" Font-Bold="True" Font-Size="0.9em" ForeColor="#333333" HorizontalAlign="Center" />
None.gif                
asp:Wizard>
None.gif            
fieldset>
None.gif        
div>
None.gif    
form>
None.gif
body>
None.gif
html>
注:SideBarTemplate中必须包含一个ID为“SideBarList”的DataList控件,同时DataList中还必须包含一个IButtonControl类型的控件。本例中设置为ID“SideBraButton”的LinkButton控件。

转载于:https://www.cnblogs.com/hide0511/archive/2006/09/24/513574.html

你可能感兴趣的:(Wizard控件)