На самом деле я создал один объект сеанса, и я храню несколько текстовых полей, радио & значение флажка в этом сеансе.Динамически создавая сеанс на кнопке Нажмите
Вот мой код (Моя страница вставки, где я буду вставлять значения и хранить в сеансе).
protected void btnRegister_Click(object sender, EventArgs e)
{
//Creating DataTable dt
DataTable dt = new DataTable();
//Creating DataTable Columns
dt.Columns.Add("FName", typeof(string));
dt.Columns.Add("MName", typeof(string));
dt.Columns.Add("LName", typeof(string));
dt.Columns.Add("Phone", typeof(string));
dt.Columns.Add("EId", typeof(string));
dt.Columns.Add("State", typeof(string));
dt.Columns.Add("City", typeof(string));
dt.Columns.Add("Country", typeof(string));
dt.Columns.Add("PCode", typeof(string));
dt.Columns.Add("Gender", typeof(string));
dt.Columns.Add("AOI", typeof(string));
dt.Rows.Add(txtFN.Text, txtMN.Text, txtLN.Text, txtPhone.Text, txtEId.Text, ddlState.Text, ddlCity.Text, txtCountry.Text, txtPCode.Text, rdGender.SelectedValue, cbAOI.SelectedValue);
//Creating Session object to store DataTable dt
Session.Add("Insert", dt);
lblMandatory.Text = "Successfully Inserted into Database";
System.Threading.Thread.Sleep(1000);
Response.Redirect("Home.aspx");
}
Я просто хотел бы знать, есть ли способ, чтобы создать новую сессию всякий раз, когда я нажмите кнопку Зарегистрировать ИЭ, я не хочу, чтобы перезаписать существующий сеанс, но при каждом нажатии кнопки, я хочу, чтобы создать новую сессию автоматически.
My Home Page, где я буду показывать это DataTable с помощью GridView
protected void Page_Load(object sender, EventArgs e)
{
if ((!IsPostBack) && (Session["Insert"] != null))
{
//At another place you retrieve datatable:
DataTable dt = new DataTable();
dt = (DataTable)Session["Insert"];
//Binding GridView with DataTable dt
gdvView.DataSource = dt;
gdvView.DataBind();
}
}
Моя проблема в том, колонка каждый GridView заменяются новыми GridView колонки, так как моя сессия заменяются новыми значениями. Итак, есть ли способ, я могу сохранить новое значение сеанса в gridview, не теряя прежних значений из gridview.
Ваш код Session.Add() не проверяет существующий сеанс. Просто используйте Session ["insert"] = dt, затем управляйте dt, чтобы каждый раз добавлять новые строки. Затем используйте dt, чтобы проверить счетчик как dt.Rows.Count или ((DataTable) Session ["insert"]). Count – agentpx
С помощью agentpx это помогло, но все же я хочу знать, как автоматически создавать объект сеанса. В вышеприведенном коде сначала создается сеанс ["insert"] при нажатии кнопки. Но я действительно хочу, если в следующий раз я нажму кнопку, он должен создать новый сеанс с другим идентификатором или объектом. Так что, наконец, я могу иметь несколько сеансов, сгенерированных автоматически при каждом нажатии кнопки. –
Session.Add ("Insert" + txtEId.Text.Trim(), dt); – agentpx