PDA

View Full Version : مشکل در استفاده از session



hossein_va
شنبه 20 اسفند 1390, 20:11 عصر
سلام.
من session را تو مسترپیج ایچاد میکنم و وقتی تو صفحه ای که از مستر پیج به ارث رسیده مقدار session را میخونم null بر میگردونه.
مشکل کجاست؟

hamid_shrk
شنبه 20 اسفند 1390, 21:48 عصر
احتمالا تو لود مسترپیج مقدار میدید و میخواید تو لود صفحتون بخونیدش.
اول کدهای لود صفحه داخلی اجرا میشه بعد لود مسترپیج.
کدتون رو بالای پیج لود تو مسترپیج بذارید.

hossein_va
شنبه 20 اسفند 1390, 22:51 عصر
اره تو لود صفحم قرار دادم.
منظورتون را نفهمیدم که کجا بذارم کد را؟
یعنی بالاب متد پیچ لود مستر پیج بذارم؟
فقط میخوام محتویات ی سیشن را بخونم تو صفحم که تو مستر پیج پرش کردم

Rohollaes
شنبه 20 اسفند 1390, 23:28 عصر
اگه در لود مستر پیج هست باید دستور زیر رو بنویسید


if(!page.ispostback)
{
اینجا سشن رو مقدار بدید
}

واسه اینکه در هر بار لود صفحه سشن مقدار نگیره. فقط همون بار اول

hossein_va
شنبه 20 اسفند 1390, 23:52 عصر
تو لود صفحه هست ن مسترپیج.
تو ی دکمه مسترپیج مقدار میدم به سیشن و می خوام تو لود صفحه از مقدار استفاده کنم

mehrdad85
یک شنبه 21 اسفند 1390, 00:36 صبح
سلام
دوست عزیز همون طور که برنامه نویس گلمون گفتن نباید این مقدار دهی داخل لود مستر باشه
چرا اونو داخل لود صفحه مقدار دهی نمیکنی؟

hossein_va
یک شنبه 21 اسفند 1390, 08:24 صبح
تو لود مسترپیح نیست.تو رویداد command یک دکمه که توی مستر پیج تعریف کردم مقدارد دهی میکنم و تو رویداد لود صفحه میخوام مقدارش را بخونم

mehrdad85
یک شنبه 21 اسفند 1390, 11:35 صبح
سلام
دوست عزیز من سعی میکنم خیلی روان مسئله را با یه مثال واست توضیح بدم
امیدوارم که مشکلت حل بشه واسه ما هم دعا کنی

ببین برنامه نویس گلم فرض کن که شما داخل مسترپیج یه کنترل drop down list داری که میخای با تغییر مقدار اون ، مقدارش در یک session ذخیره بشه و در رویداد page load صفحه این مقدار مورد استفاده قرار بگیره
یعنی این کد :

protected void myddl_SelectedIndexChanged(object sender, EventArgs e)
{
Session["session name"] = myddl.SelectedValue;
}

والله این چیزی بود که من از تاپیک شما دستگیرم شد
بگذریم یه نگاه به کحد زیر بنداز :

حالا نوبت به برگرداندن مقدار در page load میرسه
همونطور که دوست خوبم فرمودند رویداد page load صفحه قبل از page load مستر اجرا میشه واسه همین از کد زیر استفاده کن

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{

myddl.SelectedValue = Session["session name"].ToString();

}
}


موفق باشید
التماس دعا

hossein_va
یک شنبه 21 اسفند 1390, 13:40 عصر
مرسی.ولی این گفته شما فقط برای یک بار درست کار میکنه.حالا اگه کاربر 2 یا چند بار , وقتی که تو سایته خاصیت command را اجرا کنه ارور میده

mehrdad85
یک شنبه 21 اسفند 1390, 13:45 عصر
مرسی.ولی این گفته شما فقط برای یک بار درست کار میکنه.حالا اگه کاربر 2 یا چند بار , وقتی که تو سایته خاصیت command را اجرا کنه ارور میده


سلام

هر بار که command مورد نظر اجرا شد داخل اون متد یه بار صفحه را Refresh کن

شاید جواب بده