PDA

View Full Version : سوال: مشکل در ذخیره سازی کوکی در متغیر و قرار دادن شرط برای آن؟



پیام حیاتی
جمعه 15 آبان 1394, 22:51 عصر
سلام عزیزان
در صفحه Default کوکی ایجاد می شود :


HttpCookie Ahvaz = new HttpCookie("Ahvaz");
Response.Cookies.Add(Ahvaz);
Response.Redirect("View.aspx");

در صفحه View می خواهم ابتدا بررسی کنم کوکی خالی نباشد ، اگر خالی بود دوباره به صفحه Default برگردد :

protected void Page_Load(object sender, EventArgs e)
{
string city = Request.Cookies["Ahvaz"].Value;
if (city!="Ahvaz")
{
Response.Redirect("Default.aspx");
}
if (city == "Ahvaz")
{


con.Open();
SqlDataAdapter da = new SqlDataAdapter("select am_id as 'ردیف' , am_mantaghe as 'منطقه' , am_title_home as 'عنوان' , am_metraj as 'متراژ' , am_tabaghe as 'طبقه' , am_build_year as 'سال ساخت' , am_eghdam as 'اقدام' , am_price as 'قیمت کل' , am_address as 'آدرس' from T_Amlak where am_city= 'اهواز' ", con);
DataSet ds = new DataSet();
da.Fill(ds, "Temp");
GridView1.DataSource = ds;
GridView1.DataMember = "Temp";
GridView1.DataBind();
con.Close();
}
}


خطا :

136531

Mahmoud.Afrad
شنبه 16 آبان 1394, 01:18 صبح
وقتی کوکی رو ایجاد کردی هیچ value ای توش قرار ندادی. برای نام کوکی و مقدار کوکی مقادیر متفاوتی انتخاب کن که دچار اشتباه نشی

HttpCookie myCookie = new HttpCookie("cityCookie");
myCookie.Value = "Ahvaz";
Response.Cookies.Add(myCookie);
Response.Redirect("View.aspx");

در صفحه بعد ، چک کن کوکی null نباشه بعد مقدارش رو بخون

HttpCookie cookie = Request.Cookies["cityCookie"];
if (cookie != null)
{
string cityValue = cookie.Value;
if (cityValue != "Ahvaz")
{
Response.Redirect("Default.aspx");
}
else
{
con.Open();
SqlDataAdapter da =
new SqlDataAdapter(
"select am_id as 'ردیف' , am_mantaghe as 'منطقه' , am_title_home as 'عنوان' , am_metraj as 'متراژ' , am_tabaghe as 'طبقه' , am_build_year as 'سال ساخت' , am_eghdam as 'اقدام' , am_price as 'قیمت کل' , am_address as 'آدرس' from T_Amlak where am_city= N'اهواز' ",
con);
DataSet ds = new DataSet();
da.Fill(ds, "Temp");
GridView1.DataSource = ds;
GridView1.DataMember = "Temp";
GridView1.DataBind();
con.Close();
}
}

پیام حیاتی
شنبه 16 آبان 1394, 01:41 صبح
تشکر استاد.
الآن چرا زمانی که آدرس صفحه View را به صورت مستقیم در مرورگر وارد می کنیم به صفحه Default هدایت نمی شود؟
صفحه View بدون محتوا نمایش داده می شود.

Mahmoud.Afrad
شنبه 16 آبان 1394, 03:55 صبح
تو تا شرط رو یکی کن تا در صورت null بودن هم ریدایرکت بشه

HttpCookie cookie = Request.Cookies["cityCookie"];
if (cookie == null || cookie.Value != "Ahvaz")
{
Response.Redirect("Default.aspx");
}
else
{
con.Open();
SqlDataAdapter da =
new SqlDataAdapter(
"select am_id as 'ردیف' , am_mantaghe as 'منطقه' , am_title_home as 'عنوان' , am_metraj as 'متراژ' , am_tabaghe as 'طبقه' , am_build_year as 'سال ساخت' , am_eghdam as 'اقدام' , am_price as 'قیمت کل' , am_address as 'آدرس' from T_Amlak where am_city= N'اهواز' ",
con);
DataSet ds = new DataSet();
da.Fill(ds, "Temp");
GridView1.DataSource = ds;
GridView1.DataMember = "Temp";
GridView1.DataBind();
con.Close();
}