PDA

View Full Version : مبتدی: قرار دادن چندین مقدار در سسشن و بعد ارسال به سبد خرید



heshmat123
سه شنبه 22 مرداد 1392, 11:42 صبح
سلام دوستان چند خسته نباشید.
من از این کد استفاده مینم فقط یک مقدار را به سسشن اضافه میکنه بی زحمت راهنمایی کنید تا چندن مقدار درون سسشن اضافه بشه.
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{

if (Session["cdo"] != null)
{
Session["cdo"] = DataList1.SelectedValue.ToString();

System.Data.SqlClient.SqlConnection con;
con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data Source=.;Initial Catalog=ht;Integrated Security=True";
con.Open();
DataTable dt = new DataTable();

SqlCommand cmd = new SqlCommand();

SqlDataAdapter da = new SqlDataAdapter("select * from product", con);
Session.Add("cdo", DataList1.SelectedValue.ToString());
da.Fill(dt);


foreach (DataListItem col in DataList1.Items )
Response.Write(da + "<br/>");

con.Close();
}



}

توسط این کد هم مقدار سسشن را به سبد خرید اضافه میکنم

protected void Page_Load(object sender, EventArgs e)
{

System.Data.SqlClient.SqlConnection con;
con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data Source=.;Initial Catalog=ht;Integrated Security=True";

DataTable dt = new DataTable();

SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter("select * from product where pid='" + Session["id"].ToString() + "'", con);

da.Fill(dt);
con.Close();


CartGrid.DataSource =dt;
CartGrid.DataBind();

}

mohsen_popo
سه شنبه 22 مرداد 1392, 12:15 عصر
سلام ... من نمیدونم سبد خرید شما دقیقاٌ چه طوره ولی من برای سبد خرید خودم این کارو کردم... شما داده ها رو داخل یه لیست listقرار بدین بعد لیست داخل Session قرار بدین بعد هرجا خواستید محتوایت Session به لیست تبدیل کنید بعد داخل یه حلقه For داده ها رو هر جا خواستید قرار بدید ....

heshmat123
سه شنبه 22 مرداد 1392, 12:50 عصر
خسته نباشید
چطور بزارمش توی لیستو بعد توی سسشن و ازشون استفاده کنم

mohsen_popo
سه شنبه 22 مرداد 1392, 13:09 عصر
این لیست ... List<string> list_ghalam = new List<string>();
داده ها داخل لیست اد کن...

نکته اگر بخوای بیش از یک ایتم رو داخل هر خونه لیست قرار بدی (به طور مثال کل محتوایت یک سطر گرید داخل یه خونه لیست باشه) یه رشته تعریف کن بعد هر خون رو با کاراکتر ^ بهم وصل کن بعد اون رشته رو داخل اون خونه لیست قرار بده..

حالا داخل session قرار بده==Session["str_list_ghalam"]=list_ghalam

حالا session دوباره به لیست تبدیل کن..
list_ghalam = (List<string>)Session["str_list_ghalam"];m

حالا از لیست استفاده کن..

heshmat123
سه شنبه 22 مرداد 1392, 14:12 عصر
تشکر دوست عزیز