PDA

View Full Version : سوال: پاک کردن Session بعد از بازگشت به صفحه اصلی



MasoudAdmin
پنج شنبه 20 مهر 1402, 19:06 عصر
با سلام خدمت همه
من در صفحه اصلی وبم از جدول Telerik استفاده کردم. واسه انتخاب ردیف این کد رو گذاشتم:



protected void dgvRequest_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "RowClick")
{
GridDataItem dataItem = e.Item as GridDataItem;
Session["RN"] = dataItem["RequestNo"].Text;
Session["CityName"] = dataItem["CityName"].Text;
Session["District"] = dataItem["District"].Text;
Session["Code"] = dataItem["Code"].Text;
}
}


وقتی ردیفی رو کلیک می کنم همه چیز درست هست. به Session هم داده ها درست پاس داده میشه. ولی مشکلی که دارم اینه وقتی ردیف انتخاب میشه طبق تصویر میخوام شماره درخواست ردیفی که انتخاب شده رو در صفحه اصلی نمایش بده و ضمنا وقتی با این Session ها به صفحه جدید میرم و دکمه بازگشت به صفحه اصلی رو میزنم Session های ردیف انتخاب شده قبلی سر جاش هست وقتی هم Session ها رو پاک می کنم تو صفحه اصلی به خطا میخوره.

155016

لطفا راهنمایی کنید چجوری وقتی ردیف رو انتخاب می کنم تو صفحه اصلی اون شماره درخواست طبق تصویر پیوست به کاربر نمایش بده و وقتی از صفحه دیگر به صفحه اصلی بر می گردم هم اون شماره درخواسته به کاربر نمایش نده و هم Session ردیف انتخاب قبلی حذف بشه.
با سپاس

MasoudAdmin
چهارشنبه 26 مهر 1402, 09:42 صبح
سلام. عکسی که گذاشته بودم چرا حذف شده؟
دوستان کسی می تونه کمک کنه؟

mazoolagh
شنبه 06 آبان 1402, 12:37 عصر
سلام و روز خوش

این دست مشکل ها بیشتر وقتها با رعایت page life cycle در asp.net درست میشه.

اول لینک زیر رو با دقت بخونین:
ASP.NET Page Life Cycle Overview (https://learn.microsoft.com/en-us/previous-versions/aspnet/ms178472(v=vs.100))

بعد سعی کنین از دموهای خود تلریک استفاده کنین و جلو برین.
از یک سناریو خیلی ساده شروع و یکی یکی موارد رو در اون پیاده کنین.

MasoudAdmin
یک شنبه 07 آبان 1402, 23:11 عصر
ممنون.
فقط اون موردی که گفتم درخواست رو انتخاب می کنم و میخوام به کاربر نمایش بده چه درخواستی رو انتخاب کرده چجوری باید انجام بدم؟
تلریک هم مطالعه کردم و سایت هایی مثل StackOverFlow و سایر موارد مشابه هم راه حل هایی داده بودند که هیچ کدام جوابگو نبود. مثلا همین کد رو اینجوری هم گذاشتم ولی خروجی چیزی رو نمایش نمیده ولی
Session["RN"] که شماره درخواست رو پاس دادم داره مقدار میگیره.




if (e.CommandName == "RowClick")
{
GridDataItem dataItem = e.Item as GridDataItem;
Session["RN"] = dataItem["RequestNo"].Text;
Session["CityName"] = dataItem["CityName"].Text;
Session["District"] = dataItem["District"].Text;
Session["NosaziCode"] = dataItem["NosaziCode"].Text;
this.lbMessage.Text = Session["RN"].ToString();
}



حداقل توی این پراپرتی انتخاب ردیف Sessionها مقدار میگیرند ولی وقتی میگم تو یک lable هم نمایش بده نمایش نمیده. همون تصویری که گذاشتم
درخواست انتخاب شده:

اینو ممنون میشم راهنمایی کنید.

mazoolagh
شنبه 13 آبان 1402, 12:31 عصر
راستش این تکه کد و اسکرین شات که گذاشتین هیچ کمکی نمیکنه!

زحمت بکشین و یک پروژه نمونه خیلی خیلی ساده از مشکل رو بسازین و اینجا پیوست کنین به شکلی که بشه اون رو در VS باز و اجرا کرد،
اصطلاحا minimum reproducible example .