Use the Wizard control to simplify many of the tasks that are associated with building a series of forms to collect user input.Collecting user input by using forms is a recurring task in Web development. A group of forms that is used to accomplish a task is often called a wizard.

The ASP.NET Wizard control simplifies many of the tasks that are associated with building multiple forms and collecting user input. The Wizard control provides a simple mechanism that allows you to easily build steps, add a new step, or reorder the steps. You can build linear and non-linear navigation and customize the control's user navigation without writing code.

Building a series of interconnected forms to break up data collection is a common practice. You can accomplish this by managing the navigation between forms, the data persistence, and the state management in each step. With the Wizard control, you use discrete steps to collect data, which allows users to navigate between steps at their discretion and creates a simpler user experience. As a developer, you do not have to worry about making your data persist across pages because the control maintains state while the user completes the various steps.

The Wizard control uses steps to delineate different sections of user data input. Each step within the control is given a StepType to indicate whether it is the beginning step, intermediate step, or completion step. The wizard can have as many intermediate steps as needed. You can add different controls, such as a TextBox or ListBox control, to collect user input. When you reach the Complete step, all of your data is accessible. The following code example illustrates the Wizard control with two steps.

<asp:Wizard ID="Wizard2" runat="server">

<WizardSteps>

<asp:WizardStep runat="server" title="Step 1">

</asp:WizardStep>

<asp:WizardStep runat="server" title="Step 2">

</asp:WizardStep>

</WizardSteps>

</asp:Wizard>

WizardStep Properties -

Wizard Events -

Wizard Templates -

HeaderTemplate:

<HeaderTemplate>

<i>HeaderTemplate</i> - <b><%=Wizard1.ActiveStep.Title %></b>

<br /><br />

</HeaderTemplate>

Figure 1.

StartNavigationTemplate :

<StartNavigationTemplate>

<i>StartNavigationTemplate</i><br />

<asp:Button ID="NextButton" runat="server" Text="NEXT" CommandName="MoveNext" />

</StartNavigationTemplate>

Figure 2.

StepNavigationTemplate :

<StepNavigationTemplate>

<i>StepNavigationTemplate</i><br />

<asp:Button ID="PreviousButton" runat="server" Text="PREVIOUS" CommandName="MovePrevious" />

<asp:Button ID="StartNextButton" runat="server" Text="NEXT" CommandName="MoveNext" />

</StepNavigationTemplate>

Figure 3.

FinishNavigationTemplate:

<FinishNavigationTemplate>

<i>FinishNavigationTemplate</i><br />

<asp:Button ID="PreviousButton" runat="server" Text="PREVIOUS" CommandName="MovePrevious" />

<asp:Button ID="FinishButton" runat="server" Text="FINISH" CommandName="MoveComplete" />

</FinishNavigationTemplate>

Figure 4.

Here is .aspx code :

<div>

<asp:Wizard ID="Wizard1" runat="server" BackColor="#EFF3FB"

BorderColor="#B5C7DE" BorderWidth="1px" Font-Names="Verdana"

onfinishbuttonclick="Wizard1_FinishButtonClick">

<StepStyle ForeColor="#333333" Width="20%" />

<HeaderTemplate>

<i>HeaderTemplate</i> - <b><%=Wizard1.ActiveStep.Title %></b>

<br /><br />

</HeaderTemplate>

<%--<StartNavigationTemplate>

<i>StartNavigationTemplate</i><br />

<asp:Button ID="NextButton" runat="server" Text="NEXT" CommandName="MoveNext" />

</StartNavigationTemplate>

<StepNavigationTemplate>

<i>StepNavigationTemplate</i><br />

<asp:Button ID="PreviousButton" runat="server" Text="PREVIOUS" CommandName="MovePrevious" />

<asp:Button ID="StartNextButton" runat="server" Text="NEXT" CommandName="MoveNext" />

</StepNavigationTemplate>

<FinishNavigationTemplate>

<i>FinishNavigationTemplate</i><br />

<asp:Button ID="PreviousButton" runat="server" Text="PREVIOUS" CommandName="MovePrevious" />

<asp:Button ID="FinishButton" runat="server" Text="FINISH" CommandName="MoveComplete" />

</FinishNavigationTemplate>--%>

<WizardSteps>

<asp:WizardStep ID="WizardStep1" runat="server" Title="Personal Info Step">

<table cellpadding="2" cellspacing="2">

<tr><td>First Name :</td><td><asp:TextBox ID="FirstNameTextBox" runat="server"

Width="240px"></asp:TextBox></td></tr>

<tr><td>Last Name :</td><td><asp:TextBox ID="LastNameTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

<tr><td>DOB :</td><td><asp:TextBox ID="DOBTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

<tr><td>Website URL :</td><td><asp:TextBox ID="WebsiteURLTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

</table>

</asp:WizardStep>

<asp:WizardStep ID="WizardStep2" runat="server" Title="Contact Info Step">

<table cellpadding="2" cellspacing="2">

<tr><td>City :</td><td><asp:TextBox ID="CityTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

<tr><td>State :</td><td><asp:TextBox ID="StateTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

<tr><td>Country :</td><td><asp:TextBox ID="CountryTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

<tr><td>Zip :</td><td><asp:TextBox ID="ZipTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

<tr><td>Phone :</td><td><asp:TextBox ID="PhoneTextBox" runat="server" Width="240px"></asp:TextBox></td></tr>

</table>

</asp:WizardStep>

<asp:WizardStep ID="WizardStep3" runat="server" Title="My Pictures Step">

<table cellpadding="2" cellspacing="2" >

<tr><td><asp:Image ID="Image1" runat="server" ImageUrl="~/Raj 045.JPG" Height="200" Width="200" /></td><td><asp:Image ID="Image2" Height="200" ImageUrl="~/Raj 052.JPG" Width="200" runat="server" /></td></tr>

<tr><td><asp:Image ID="Image3" runat="server" Height="200" Width="200" ImageUrl="~/Raj 060.JPG" /></td><td><asp:Image ID="Image4" Height="200" Width="200" ImageUrl="~/Raj 059.JPG" runat="server" /></td></tr>

<tr><td><asp:Image ID="Image5" runat="server" Height="200" Width="200" ImageUrl="~/Raj 061.JPG" /></td><td><asp:Image ID="Image6" Height="200" ImageUrl="~/Raj 062.JPG" Width="200" runat="server" /></td></tr>

</table>

</asp:WizardStep>

<asp:WizardStep ID="WizardStep4" runat="server" Title="My Favorate Step">

<table cellpadding="2" cellspacing="2">

<tr><td align="center"><asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="http://www.c-sharpcorner.com">C# Corner</asp:HyperLink></td></tr>

<tr><td align="center"><asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="http://www.vbdotnetheaven.com">VbDotNetHeaven</asp:HyperLink></td></tr>

<tr><td align="center"><asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="http://www.longhorncorner.com">Longhorn Corner</asp:HyperLink></td></tr>

<tr><td align="center"><asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="http://www.mindcracker.com">Mindcracker</asp:HyperLink></td></tr>

</table>

</asp:WizardStep>

</WizardSteps>

<SideBarButtonStyle BackColor="#507CD1" Font-Names="Verdana"

ForeColor="White" />

<NavigationButtonStyle BackColor="White" BorderColor="#507CD1"

BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em"

ForeColor="#284E98" />

<SideBarStyle BackColor="#507CD1" Font-Size="0.9em" VerticalAlign="Top" />

<HeaderStyle BackColor="#284E98" BorderColor="#EFF3FB" BorderStyle="Solid"

BorderWidth="2px" Font-Bold="True" Font-Size="0.9em" ForeColor="White"

HorizontalAlign="Center" />

</asp:Wizard>

</div>

<asp:Label ID="Label1" runat="server" Visible="False"></asp:Label>

First Step :

Figure 5.

Second Step :

Figure 6.

Third Step:

Figure 7.

Fouth Step:

Figure 8.

FinishButton Click :

protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)

{

StringBuilder stringBuilder = new StringBuilder();

stringBuilder.Append("<b>Personal Info - </b> <br />");

stringBuilder.Append("First Name : ");

stringBuilder.Append(FirstNameTextBox.Text);

stringBuilder.Append("<br />Last Name : ");

stringBuilder.Append(LastNameTextBox.Text);

stringBuilder.Append("<br />DOB : ");

stringBuilder.Append(DOBTextBox.Text);

stringBuilder.Append("<br />Website URL : ");

stringBuilder.Append(WebsiteURLTextBox.Text);

stringBuilder.Append("<br /><b>Contact Info</b> <br />");

stringBuilder.Append("City : ");

stringBuilder.Append(CityTextBox.Text);

stringBuilder.Append("<br />State : ");

stringBuilder.Append(StateTextBox.Text);

stringBuilder.Append("<br />Country : ");

stringBuilder.Append(CountryTextBox.Text);

stringBuilder.Append("<br />Zip : ");

stringBuilder.Append(ZipTextBox.Text);

Label1.Visible = true;

Label1.Text = stringBuilder.ToString();

}

Figure 9.

That's it........