This didn't accomplish anything - now, the controls don't even show up:
protected void Page_Init()
{
if (Session["OrderID"] == null)
{
_order = new Order();
Session["OrderID"] = _order.OrderID + "";
}
else
{
_order = new
Order(Int32.Parse(Session["OrderID"].ToString()));
}
}
protected void Page_OnInit(EventArgs e)
{
genDetailsContent();
}
bruce barker (sqlwork.com) wrote:
you need to recreate the controls on postback during oninit i you want them
to load their postback data, and fire events.
-- bruce (sqwork.com)
"Jimmy M" <ji**********@gmail.comwrote in message
news:11**********************@i42g2000cwa.googlegr oups.com...
Just a little more info with code:
protected void Page_Load(object sender, EventArgs e)
{
if (Security.isLoggedIn())
{
Wizard1.ActiveStepChanged += new
EventHandler(Wizard1_ActiveStepChanged);
((RadioButtonList)WizardStep2.FindControl("OutputT ype")).SelectedIndexChanged
+= new EventHandler(OutputType_SelectedIndexChanged);
((DropDownList)WizardStep1.FindControl("TemplateLi st")).SelectedIndexChanged
+= new EventHandler(TemplateList_SelectedIndexChanged);
((CheckBox)WizardStep2.FindControl("Printing")).Ch eckedChanged += new
EventHandler(Printing_CheckedChanged);
if (Page.IsPostBack)
{
if (Wizard1.ActiveStep.Equals(WizardStep3))
{
//setDetailsViewstateValues();
}
}
}
}
protected void Page_Init()
{
ErrorMessage = (Label)Master.FindControl("ErrorMessage");
if (Session["OrderID"] == null)
{
_order = new Order();
Session["OrderID"] = _order.OrderID + "";
}
else
{
_order = new
Order(Int32.Parse(Session["OrderID"].ToString()));
}
genDetailsContent();
//setDetailsValues();
}
private void genDetailsContent()
{
DataSet ds = SQLData.SELECT(@"...SQL...");
Panel details =
((Panel)WizardStep3.FindControl("DetailsPanel"));
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
details.Controls.Add(new LiteralControl("<tr><td>"));
// Name/prompt here
details.Controls.Add(new
LiteralControl(ds.Tables[0].Rows[i].ItemArray[1].ToString()));
details.Controls.Add(new LiteralControl("</td><td>"));
// Control here
switch (ds.Tables[0].Rows[i].ItemArray[2].ToString())
{
case "Text":
if
(ds.Tables[0].Rows[i].ItemArray[3].ToString().Equals("True"))
{
DropDownList ddlText = new DropDownList();
ddlText.AutoPostBack = true;
//ddlText.EnableViewState = true;
ddlText.SelectedIndexChanged += new
EventHandler(ddlText_SelectedIndexChanged);
ddlText.ID =
ds.Tables[0].Rows[i].ItemArray[1].ToString().Trim() + ":" +
ds.Tables[0].Rows[i].ItemArray[0].ToString();
DataSet textOptions =
SQLData.SELECT(@"...SQL...");
ddlText.DataSource = textOptions;
ddlText.DataTextField = "TextValue";
ddlText.DataValueField = "ID";
ddlText.DataBind();
details.Controls.Add(ddlText);
}
else
{
TextBox t = new TextBox();
t.ID =
ds.Tables[0].Rows[i].ItemArray[1].ToString().Trim() + ":" +
ds.Tables[0].Rows[i].ItemArray[0].ToString();
t.AutoPostBack = true;
t.TextChanged += new
EventHandler(t_TextChanged);
//t.EnableViewState = true;
details.Controls.Add(t);
}
break;
case "Image":
DropDownList ddlImage = new DropDownList();
ddlImage.AutoPostBack = true;
//ddlImage.EnableViewState = true;
ddlImage.SelectedIndexChanged += new
EventHandler(ddlImage_SelectedIndexChanged);
ddlImage.ID =
ds.Tables[0].Rows[i].ItemArray[1].ToString().Trim() + ":" +
ds.Tables[0].Rows[i].ItemArray[0].ToString();
DataSet imageOptions =
SQLData.SELECT(@"...SQL...");
ddlImage.DataSource = imageOptions;
ddlImage.DataTextField = "TextValue";
ddlImage.DataValueField = "ID";
ddlImage.DataBind();
details.Controls.Add(ddlImage);
break;
}
details.Controls.Add(new LiteralControl("</td></tr>"));
}
}