Hello everyone
I'm trying to use the Wizard control as follows:
1 - In the first step (first screen) has a cheklistbox with several options
2 - For each option selected, will be created an extra step
3 - In some steps may be set up intermediate stages
Me problem is that each step is a usercontrol. So if the first step I select
option1 and option3, I should create two more steps with usercontrol1 and
UserControl3 ....
Someone already did something similar? 
I will try explain better the problem.
I'll paste here, but I put a copy of the project in skydrive: 
http://cid-3d949f1661d00819.skydrive.live.com/self.aspx/C%5E3/WizardControl2.7z
It is a very basic example of what I'm trying to do. The project has page.ASPX 1 and 3 usercontrol.ASCX  (UC1, UC2 and UC3)
Default.ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %
    
    
        
            
                
                    
                        Option1
                        Option2
                        Option3
                        
                    
                
            
        
    
    
Code Behind:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;  
namespace WebApplication2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Page_PreInit(object sender, EventArgs e)
        {
            LoadSteps();
        }  
    private void LoadSteps()  
    {  
        int count = Wizard1.WizardSteps.Count;  
        for (int i = count - 1; i > 0; i--)  
        {  
            WizardStepBase step = Wizard1.WizardSteps[i];  
            if (step.StepType != WizardStepType.Start)  
                Wizard1.WizardSteps.Remove(step);  
        }  
        string Activities="";  
       foreach (ListItem item in CheckBoxList1.Items)  
        {  
            if (item.Selected)  
            {  
                WizardStep step = new WizardStep {ID = "step_" + item.Value, Title = "step_" + item.Value};  
                UserControl uc=null;  
                switch (item.Value)  
                {  
                    case "1":  
                        uc=(UserControl)LoadControl("~/UC1.ascx");  
                        break;  
                        case "2":  
                        uc=(UserControl)LoadControl("~/UC2.ascx");  
                        break;  
                        case "3":  
                        uc=(UserControl)LoadControl("~/UC3.ascx");  
                        break;  
                }  
                step.Controls.Add(uc);  
                Wizard1.WizardSteps.Add(step);  
            }  
        }  
    }  
    protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)  
    {  
        LoadSteps();  
    }  
}  
}  
Control UC1.ASCX to UC3.ASCX has the same code (as an example)
usercontrol.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UC1.ascx.cs" Inherits="WebApplication2.UC1" %
    AutoPostBack="True"
    AutoPostBack="True"
  
Code Behind:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;  
namespace WebApplication2
{
    public partial class UC1 : System.Web.UI.UserControl
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            List list1 = new List { "Alice", "Bob", "Chris" };
            List list2 = new List { "UN", "DEUX", "TROIS" };
            DropDownList1.DataSource = list1;
            DropDownList2.DataSource = list2;  
        DropDownList1.DataBind();  
        DropDownList2.DataBind();  
    }  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        if (IsPostBack) return;  
    }  
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)  
    {  
        Label1.Text = DropDownList1.SelectedValue;  
    }  
    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)  
    {  
        Label2.Text = DropDownList2.SelectedValue;  
    }  
}  
} 
You can see that the controls UserControls trigger events (they cause postbacks)
The behavior of this project is a little different than I described in the first thread, but the problem is the same. After the second time "next" button, you will get an error.
Thanks in advance
William