o usuario possa de forma continua inserir informacoes em sua webpage. O Wizard funciona de forma semelhante aos controles de MultiView e View explicados anteriormente. A ideia dele e criar um passo a passo logico de um processo.O que e feito com o Wizard pode muito bem ser feito com varias paginas, mas esta e a diferenca principal, com o Wizard voce centraliza tudo em uma unica pagina, facilitando o processo de desenvolvimento. O Wizard possui um header para customizar com informacoes do passo especifico que o usuario esta naquele momento. Possui uma sidebar que ira conter os controles de navegacao entre cada passa do Wizard. E possivel programar qual passo e exibido, nao obrigando o usuario a passar em todos os passos de forma linear caso nao queira.O que determina qual botao e exibido ou nao e a propriedade StepType da classe BaseWizardStep. Os valores disponiveis sao:WizardStepType.Auto: este e o valor padrao. Os botoes sao renderizados com base na localizacao do passo dentro da colecao do Wizard;WizardStepType.Complete: este e o passo final da colecao de passos, os botoes de Final e Anterior serao exibidos;WizardStepType.Start: este e o primeiro passo, e somente o botao de proximo ira aparecer;WizardStepType.Step: este e um passo intermediario, os botoes de Proximo e Anterior sao renderizados.No exemplo a seguir o controle de Wizard e montado para dar opcao do usuario escolher alguns itens do seu veiculo. Os passos criados no Wizard sao: Exterior, Interior, Opcionais, and Resumo. No Exterior contem 3 RadioButtons para escolher a cor externa: vermelho, azul ou preto. No passo do Interior contem 2 RadioButton para escolher se quer banco de couro ou de pano. Nos Opcionais contem CheckBox para escolher: Radio, Bancos Aquecidos e Ar-Condicionado. No Resumo tem uma Label que e populada com as opcoes escolhidas. Veja como ficou:Apos cada passo do Wizard ser criado, foi criado um codigo para popular a Label quando chegar ao Resumo, tambem foi adicionado codigo no evento Page_Load da pagina para determinar o primeiro passo do Wizard. E no evento Wizard1_FinishButtonClick foi adicionado codigo para exibir os resultados na label.protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { Wizard1.ActiveStepIndex = 0; }} protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e){ Wizard1.Visible = false; Response.Write(string.Format("Finished<br />{0}", Label1.Text));}protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e){ if (Wizard1.WizardSteps[e.NextStepIndex].Title == "Summary") { StringBuilder sb = new StringBuilder(); foreach (WizardStep ws in Wizard1.WizardSteps) { foreach (Control c in ws.Controls) { if (c is CheckBox) { CheckBox cb = (CheckBox)c; if (cb.Checked) { sb.AppendFormat("{0}<br />", cb.Text); } } } } Label1.Text = sb.ToString(); }}Quando a pagina for exibida, o primeiro passo sera exibido ao usuario (Exterior), o usuario pode ir passo a passo ou ir direto para o passo final clicando em Finish. Quando clicar no Finish o controle de Wizard sera escondido e ira aparecer o Resumo onde a Label e populada com as opcoes escolhidas.The Xml Control O controle Xml e utilizado para exibir o conteudo de arquivos Xml. Este controle e bastante util quando seus dados estao armazenados em arquivo Xml e voce precisa executar uma transformacao para Extensible Stylesheet Language (XSL). Os