PDA

View Full Version : سوال: نحوه جلوگیری از اجرای متد page load



imohsen
سه شنبه 22 اسفند 1391, 23:26 عصر
سلام
من یک دکمه گذاشتم که با فشردن اون متد page_load اجرا می شه و کار من خراب میشه چطور می شه اون رو غیر فعال کرد؟
ضمنا با if(!IsPostBack) هم کارم راه نیافتاد! :اشتباه:

website.expert
سه شنبه 22 اسفند 1391, 23:49 عصر
سلام دقیقاً متوجه منظورتون نمیشم،
قصدتون اینه که صفحه post back نشه؟
یا بشه ولی page_load اجرا نشه؟!

BestFriend
چهارشنبه 23 اسفند 1391, 09:18 صبح
تو pageload وجود یک session رو بررسی کن و بنویس اگه session وجود نداشت بره و تیکه کد page load رو اجرا کنه
و تو رویداد button یه session اضافه کن تا وقتی post back انجام شد شرط وجود نداشتن Session غلط بشه و رویداد مورد نظر اجرا نشه:

مثال :



protected void Page_Load(object sender, EventArgs e)
{
if(session["button"]==null)
{
کد های مورد نظر page_load رو اینجا ینویس
}
}

protected void Button1_Click(object sender, EventArgs e)
{
session.add("button","1");

بقیه کد ها
}

imohsen
چهارشنبه 23 اسفند 1391, 09:56 صبح
در مورد دوست عزیز expert باید بگم که می خوام متد page load اجرا نشه.

از BestFriend عزیز هم ممنون، اما از اونجایی که دکمه من از نوع HyperLink که در یک GridView قرار داره تنها کاری که می تونم بکنم اینه که یک Query String بفرستم. این کار رو هم کردم اما مشکل اینجاست که نمیشه اونو حذف کرد! (یا شایدم میشه من بلد نیستم) و به همین دلیل نمی تونم شرط بذارم. در کل اضافه کنم که من می خوام با زدن اون HyperLink یک Query String بفرستم به همین صفحه و بر اساس اون در متد page load یکسری عملیات انجام بدم، اما نمی خوام با زدن دکمه دیگه ای که در صفحه ام گذاشتم دوباره page load اجرا بشه و اون عملیات اجرا بشن!
من برای حل این مشکل از چک کردن شرط مقدار Query String استفاده کردم ام به دلیلی که ذکر کردم شرط همیشه برقرار میشه و اون عملیات همیشه اجرا می شن.

saman6384
چهارشنبه 23 اسفند 1391, 13:18 عصر
از ajax استفاده میکنی؟
اگه آره پس iscallback رو هم چک کن

saman6384
چهارشنبه 23 اسفند 1391, 13:25 عصر
یا اینکه اون قسمتی از کد هارو که می خوای فقط موقع ساخته شدن صفحه اجرا بشه تو page init بزار
فک کنم کارتو راه بندازه

imohsen
جمعه 25 اسفند 1391, 13:22 عصر
دوست عزیز saman 6384 ممنون از راهنماییت، من متاسفانه از Ajax استفاده نمی کنم
ولی نکته ای که در مورد page init گفتی فکر کنم بدردم بخوره!

تشکر از همه راهنمایی همه دوستان...