PDA

View Full Version : سوال: خالی شدن دیتالیست



maryammashkani
چهارشنبه 30 اردیبهشت 1394, 22:11 عصر
من تو صفحه سه تا دیتا لیست دارم که با انتخاب تصویر از اولین دیتالیست ، دومین دیتالیست پر میشه و با انتخاب تصویر از دومین دیتالیست ، سومین دیتالیست پر میشه(یعنی به هم وابسته هستن) ، تا اینجا مشکلی ندارم، اما سوال من

- پروژه من یه فروشگاه آنلاینه ، وقتی از دیتالیست سوم ،کالایی انتخاب میشه به یه صفحه دیگه میره و مشخصات کالا رو نشون میده و کاربر در صورت نیاز اونو به سبد خرید اضافه میکنه و برمیگرده به صفحه ای که سه تا دیتالیست داره ، حالا مشکل اینجاست که وقتی بر میگرده به صفحه اولی ، دیتالیست ها رو خالی نشون میده ، در صورتی که میخام با همون مقادیر قبلی نشون بده، باید چیکار کنم؟؟؟؟

(اگر با دکمه back مرورگر برگردم دیتالیست خالی نمیشه ولی وقتی دکمه ای رو که response.redirect("factor.aspx");a رو کیلیک کنم و به صفحه برگرده ، دیتالیست هارو خالی میکنه)



protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GetData();
}
}


اینم getDate برا صفحه بندی و پر کردن دیتالیست اول



//-------------صفحه بندی دیتالیست
private void GetData()
{
//----------------------------------------- Part 1

//mahsool();

SqlConnection con = new SqlConnection(Session["connectionstr"].ToString());
SqlCommand cmd1 = new SqlCommand("select * from Farei1 where MainGroup=@re", con);


//OleDbCommand cmd1 = new OleDbCommand("select * from Farei1 where MainGroup=@re", con);
if (Session["kalagroup"] == "صنایع غذایی")
{
cmd1.Parameters.AddWithValue("@re", "صنایع غذایی");
}
if (Session["kalagroup"] == "صنعتی")
{
cmd1.Parameters.AddWithValue("@re", "صنعتی");
}
if (Session["kalagroup"] == "منسوجات")
{
cmd1.Parameters.AddWithValue("@re", "منسوجات");
}
if (Session["kalagroup"] == "کشاورزی")
{
cmd1.Parameters.AddWithValue("@re", "کشاورزی");
}
if (Session["kalagroup"] == "سرگرمی و تفریحی")
{
cmd1.Parameters.AddWithValue("@re", "");
}
if (Session["kalagroup"] == "آموزشی")
{
cmd1.Parameters.AddWithValue("@re", "آموزشی");
}
if (Session["kalagroup"] == "الکترونیک")
{
cmd1.Parameters.AddWithValue("@re", "الکترونیک");
}
if (Session["kalagroup"] == "حیوانات زنده")
{
cmd1.Parameters.AddWithValue("@re", "حیوانات زنده");
}
if (Session["kalagroup"] == "مواد معدنی")
{
cmd1.Parameters.AddWithValue("@re", "مواد معدنی");
}
if (Session["kalagroup"] == "فرآورده نفتی")
{
cmd1.Parameters.AddWithValue("@re", "فرآورده نفتی");
}
if (Session["kalagroup"] == "پتروشیمی")
{
cmd1.Parameters.AddWithValue("@re", "پتروشیمی");
}
DataTable dt = new DataTable();
SqlDataAdapter dap = new SqlDataAdapter(cmd1);
//DataSet ds = new DataSet();
dap.Fill(dt);
SqlCommandBuilder cmdBldr = new SqlCommandBuilder(dap);

//OleDbDataAdapter da = new OleDbDataAdapter(cmd1);

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

//----------------------------------------- Part 2
PagedDataSource Pd = new PagedDataSource();
Pd.DataSource = dt.DefaultView;
Pd.AllowPaging = true;
Pd.CurrentPageIndex = CurrentPage;
Pd.PageSize = 4;
dltmahsool.DataSource = Pd;
dltmahsool.DataBind();
//----------------------------------------- Part 3
cmdPrev.Enabled = !Pd.IsFirstPage;
cmdNext.Enabled = !Pd.IsLastPage;
}
public int CurrentPage
{
get
{
object o = this.ViewState["_CurrentPage"];
if (o == null)
return 0;
else
return (int)o;
}
set
{
this.ViewState["_CurrentPage"] = value;
}
}
protected void cmdNext_Click(object sender, EventArgs e)
{
CurrentPage += 1;
GetData();
}
protected void cmdPrev_Click(object sender, EventArgs e)
{
CurrentPage -= 1;
GetData();
}


اینم item command دیتالیست اول


protected void dltmahsool_ItemCommand(object source, DataListCommandEventArgs e)
{
SqlConnection conn = new SqlConnection(Session["ConnectionStr"].ToString());
Label lbname = (Label)dltmahsool.Items[e.Item.ItemIndex].FindControl("lblnamekala");
Session["namef1"] = lbname.Text;
if (e.CommandName == "imgkala")
{
SqlCommand cmd1 = new SqlCommand("select * from Farei2 where MainGroup=@mg and NameF1=@nf", conn);
cmd1.Parameters.AddWithValue("@mg", Session["kalagroup"].ToString());
cmd1.Parameters.AddWithValue("@nf", lbname.Text);
conn.Open();
SqlDataReader sdr1 = cmd1.ExecuteReader();
if (sdr1.HasRows)
{
sdr1.Close();
dlfarei2.Visible = true;
dlfarei2.DataSource = cmd1.ExecuteReader();
dlfarei2.DataBind();
sdr1.Close();
}
else
{
sdr1.Close();
dlkala.Visible = true;
SqlCommand cmd2 = new SqlCommand("select * from Mahsoolat where SubGroupMain=@sgm and SubGroupFarei1=@sgf1 order by SaId DESC", conn);
cmd2.Parameters.AddWithValue("@sgm", Session["kalagroup"].ToString());
cmd2.Parameters.AddWithValue("@sgf1", lbname.Text);
dlkala.DataSource = cmd2.ExecuteReader();
dlkala.DataBind();
}
conn.Close();
}
}


اینم کد item commandدیتالیست دوم


protected void dlfarei2_ItemCommand(object source, DataListCommandEventArgs e)
{
SqlConnection conn = new SqlConnection(Session["ConnectionStr"].ToString());
Label lbnamef2 = (Label)dlfarei2.Items[e.Item.ItemIndex].FindControl("lblnamef2");
if (e.CommandName == "imgkalaf2")
{
SqlCommand cmd2 = new SqlCommand("select * from Mahsoolat where SubGroupMain=@sgm and SubGroupFarei1=@sgf1 and SubGroupFarei2=@sgf2 order by SaId DESC", conn);
cmd2.Parameters.AddWithValue("@sgm", Session["kalagroup"].ToString());
cmd2.Parameters.AddWithValue("@sgf1", Session["namef1"].ToString());
cmd2.Parameters.AddWithValue("@sgf2", lbnamef2.Text);
conn.Open();
dlkala.Visible = true;
dlkala.DataSource = cmd2.ExecuteReader();
dlkala.DataBind();
conn.Close();
}
}


اینم item command دیتالیست سوم


protected void dlkala_ItemCommand(object source, DataListCommandEventArgs e)
{
SqlConnection conn = new SqlConnection(Session["ConnectionStr"].ToString());
Label lblid = (Label)dlkala.Items[e.Item.ItemIndex].FindControl("lblidkala");
if (e.CommandName == "info")
{
Session["idkala"] = lblid.Text;
Response.Redirect("detailes.aspx");
}


صفحه detailes.aspx جزییات کالای انتخابی رو نشون میده

maryammashkani
پنج شنبه 31 اردیبهشت 1394, 12:29 عصر
دوستان کسی نیست کمکی بکنه؟

maryammashkani
جمعه 01 خرداد 1394, 20:33 عصر
دوووووووووووووووووووووووو ووووووووووووووووستان کسی نمیدونه من باید چیکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟