LuxuryWaffles
LuxuryWaffles

Reputation: 1708

Saving entire page's controls state in session

I have many aspx pages which are a process to create a final form. eg,

Select Item Type Page -> Select item color page -> Select item quantity page -> Complete Page

Each page have a next and a previous button and when I move from the first page to the second page and the user clicks the previous button returning to the first, the control's states will be reset losing all the user's input

I thought of saving the controls in a session this way:

protected void btn_Next_Click(object sender, EventArgs e)
{
    if (validateForm() == true)
    {
        Session["test1"] = RadioButtonList1;
        Response.Redirect("nextpage.aspx");
    }
}    

And loading it this way:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        if (Session["test1"] != null)
            RadioButtonList1 = (RadioButtonList)Session["test1"];

        getInfo();
    }
}

However, I selected the 2nd item in the radiobuttonlist1 and when i move to the 2nd page and back to the 1st, it didn't load the exact state of the radiobuttonlist1. The debugging shows it went into the RadioButtonList1 = (RadioButtonList)Session["test1"]; code

Upvotes: 0

Views: 84

Answers (1)

Prasenjeet Pal
Prasenjeet Pal

Reputation: 11

Can you try this :

Set the value attribute for each list-item and retrieve the selected value in a session like this

Session["test1"] = RadioButtonList1.SelectedItem.Value;

and while loading

RadioButtonList1.SelectedValue = (String) Session["test1"];

Upvotes: 1

Related Questions