PDA

View Full Version : سوال: درمورد خاصیت Is post back



zimzim
سه شنبه 05 مرداد 1389, 12:52 عصر
سلام
اگر ممکن است در مورد خاصیت is post back وهمین طور page.is post back کمی برایم توضیح دهید .در موردش مطالعه کردم ولی باز هم اون جور که باید در کش نکردم .

با تشکر

sahar-sahra
سه شنبه 05 مرداد 1389, 12:57 عصر
منم همین طور، می خوام بدونم
ممنون

blackcats
سه شنبه 05 مرداد 1389, 13:04 عصر
از اسمش مشخصه مشخص میکنه آیا refresh صفحه یک postback بوده(مانند انتخاب یک item از dropdownlist ) یا صفحه برای اولین بار load شده

zimzim
سه شنبه 05 مرداد 1389, 13:10 عصر
پس مفهوم
If Not IsPostBack یعنی اگر صفحه برای اولین بار لود شده است دستورات انجام شود ؟

blackcats
چهارشنبه 06 مرداد 1389, 09:57 صبح
دقیقا.
عمدتا برای intial استفاده میشود

zimzim
چهارشنبه 06 مرداد 1389, 11:43 صبح
رویداد initial چه موقعی اجرا می شود ؟ و دقیقا منظور از intial چیست ؟

blackcats
چهارشنبه 06 مرداد 1389, 20:21 عصر
منظورم مقدار های اولیه است.
توابعی که فقط برای اولین بار اجرا شوند کافیه نه توی هر postback

Mostafa_Dindar
چهارشنبه 06 مرداد 1389, 23:43 عصر
سلام
اگر ممکن است در مورد خاصیت is post back وهمین طور page.is post back کمی برایم توضیح دهید .در موردش مطالعه کردم ولی باز هم اون جور که باید در کش نکردم .

با تشکر

شما میدونید که وقتی که به صفحه درخواست میشه چندین رویداد به صورت متوالی رخ میدند و در هر مرحله یکسری کار انجام میشود . به این رویدادهای Page Life Cycle Event (http://msdn.microsoft.com/en-us/library/ms178472.aspx) گفته میشه .
مثلا :
PreInit (http://msdn.microsoft.com/en-us/library/system.web.ui.page.preinit.aspx)
Init (http://msdn.microsoft.com/en-us/library/system.web.ui.control.init.aspx)
InitComplete (http://msdn.microsoft.com/en-us/library/system.web.ui.page.initcomplete.aspx)
PreLoad (http://msdn.microsoft.com/en-us/library/system.web.ui.page.preload.aspx)
Load (http://msdn.microsoft.com/en-us/library/system.web.ui.control.load.aspx)
Control events
LoadComplete (http://msdn.microsoft.com/en-us/library/system.web.ui.page.loadcomplete.aspx)
PreRender (http://msdn.microsoft.com/en-us/library/system.web.ui.control.prerender.aspx)
PreRenderComplete (http://msdn.microsoft.com/en-us/library/system.web.ui.page.prerendercomplete.aspx)
SaveStateComplete (http://msdn.microsoft.com/en-us/library/system.web.ui.page.savestatecomplete.aspx)
Render (http://msdn.microsoft.com/en-us/library/system.web.ui.control.render.aspx)
Unload (http://msdn.microsoft.com/en-us/library/system.web.ui.control.unload.aspx)

که رویداد Load یکی از رویدادهای مهم اون هست که Server Control ها درون شیئ Object لود میشن .

در این رویداد شما میتونید به خاصیت کنترلهای سمت سرور دسترسی داشته باشید و مقادیر آنها رو تغیر بدید .

مثلا میتونید از دیتابیس یکسری داده بخونید و به کنترلهای سمت سرور انتصاب بدین و یا ....

ولی همانطور که میدونید وقتی که یک صفحه به خودش PostBack میشه به لطف ViewState مقادیر قبلی خودش رو حفظ میکنه و دلیلی نداره دوباره اونها رو مقدار دهی کنه . پس ما از خاصی IsPostBack شی Page استفاده میکنیم تا برسی کنیم که آیا این دفعه اول هست که صفحه لود میشود یا دفعه اول نیست .

همچین موارد بسیار دیگری هست که ما میخواهیم تنها یکبار انجام بگیرید . در اینصورت میتونیم از این خاصیت کمک بگیریم و مطمئن بیشم که این اتفاق تنها یکبار رخ میده

موفق باشید