سلام
من یکسری اطلاعات رو داخل سیشن میریزم و اونو در گریدویو نمایش میدم
در صفحه محصولات یک گریدویو دارم و در صفحه مسترپیج یک گریدویو دیگر
مشکل اینجاست زمانی که اطلاعات محصول رو اضافه میکنم به گریدویو همون صفحه محصول اضافه میشه چون زیرش کد هام گریدویو رو بایند کردم اما گریدویو که در مسترپیج هست تا یکبار صفحه مجدد رفرش نشه اطلاعات رو نشون نمیده
کد زیر در صفحه محصولات
[CODE] int i = 0; string title = string.Empty; title = ((Label)GridView1.Rows[0].FindControl("Label8")).Text; string tedad = ((TextBox)GridView1.Rows[0].FindControl("textbox1")).Text; string price = string.Empty; price = ((Label)GridView1.Rows[0].FindControl("label1")).Text; string priceKol = string.Empty; if (Session["cart"] == null) { DataTable dt = new DataTable(); DataColumn dc1 = new DataColumn("ردیف"); DataColumn dc2 = new DataColumn("نام محصول"); DataColumn dc3 = new DataColumn("تعداد"); DataColumn dc4 = new DataColumn("قیمت"); dt.Columns.Add(dc1); dt.Columns.Add(dc2); dt.Columns.Add(dc3); dt.Columns.Add(dc4); dt.Rows.Add(new object[] { i, title, tedad, price }); Session["cart"] = dt; GridView2.DataSource = dt; GridView2.DataBind(); //for (int j = 0; j < GridView3.Rows.Count; j++) //{ // GridView3.Rows[j].Cells[0].Text = (j + 1).ToString(); // GridView3.Rows[j].Cells[5].Text = ((long.Parse(GridView3.Rows[j].Cells[3].Text) * int.Parse(GridView3.Rows[j].Cells[2].Text)) - Int64.Parse(GridView3.Rows[j].Cells[4].Text)).ToString(); //} for (int j = 0; j < GridView2.Rows.Count; j++) { GridView2.Rows[j].Cells[0].Text = (j + 1).ToString(); } } else { //for (int s = 0; s < GridView2.Rows.Count; s++) //{ //if(title!=GridView2.Rows[s].Cells[1].Text) //{ DataTable dtTemp = (DataTable)Session["cart"]; dtTemp.Rows.Add(new object[] { i, title, tedad, price }); Session["cart"] = dtTemp; GridView2.DataSource = dtTemp; GridView2.DataBind(); for (int t = 0; t < GridView2.Rows.Count; t++) { GridView2.Rows[t].Cells[0].Text = (t + 1).ToString(); } //} } [/CODE]
کد زیر در مسترپیج
[CODE] DataTable dt = (DataTable)Session["cart"]; GridView1.DataSource = dt; GridView1.DataBind(); for (int i = 0; i < GridView1.Rows.Count; i++) { GridView1.Rows[i].Cells[0].Text = (i + 1).ToString(); GridView1.DataBind(); } [/CODE]
کد مستر پیج را درجا نوشتید ؟
در کدام رویداد ؟
خب در رویداد لود بهمین خاطرم هست اتفاقی که میخوام نمیوفته
چون اول لود مسترپیج اتفاق میوفته
کد رو کجا باید بنویسم؟
میتونید در صفحه مربوطه گرید موجود در مسترپسج را Find کنید و سپس دوباره اطلاع را Bind کنید بهش
یه سوال دیگه دوست عزیز چطور میتونم کدی که قرار دادم رو تغییر بدم زمانی که محصول تکراری ثبت بشه بجای اضافه در یک سطر جدید از گریدویو به تعداد ان اضافه بشه
من حلقه گذاشتم که سطر ها رو طی کنه و شرط گذاشتم اگه موجود بود و یا نبود اما به تعداد حلقه رکورد اضافه میکرد
ممنون میشم کد من رو اصلاح کنید و قرار بدین
تشکر
موقع افزودن به سشن باید چک کنید
اگر از قبل بود یکی به تعداد اضافه بشه و اگر نبود یک رکورد جدید اضافه بشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)