PDA

View Full Version : سوال: چرا IsPostBack همیشه مقدارش false هست؟



mirahsani
پنج شنبه 25 آذر 1389, 20:10 عصر
سلام
نمی دونم چرا شرط IsPostBack که تو Page_Load گذاشتم همیشه مقدار false داره و هر وقت از یه صفحه دیگه هم respons.redirect می کنم به اون صفحه بازم مقدارش true نمیشه.
چنتا مقاله خوندم ولی دلیلشو نفهمیدم.
کمک!!!

mehdi.mousavi
جمعه 26 آذر 1389, 02:05 صبح
سلام نمی دونم چرا شرط IsPostBack که تو Page_Load گذاشتم همیشه مقدار false داره و هر وقت از یه صفحه دیگه هم respons.redirect می کنم به اون صفحه بازم مقدارش true نمیشه. چنتا مقاله خوندم ولی دلیلشو نفهمیدم. کمک!!!

سلام.
کی گفته اگر از یه صفحه دیگه به اون صفحه Redirect کنید، مقدار IsPostBack باید true بشه؟؟؟
PostBack وقتی رخ میده که form element های Page فعلی، اطلاعاتی رو به سمت سرور ارسال کنن.
بطور نمونه یک LinkButton روی صفحه بذارید:


<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>

سپس در Code Behind اینو اضافه کنید:


protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
return;
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
}


حالا برنامه رو در حالت Debug اجرا کنید و روی IsPostBack یه Break بذارید. دفعه اول IsPostBack همونطوریکه می بینید، false هستش.
حالا وقتی صفحه توی مرورگر دیده شد، روی لینک مزبور click کنید. تو این لحظه دوباره Breakpoint مزبور hit میخوره و این بار، میبینید
که مقدارش true هستش.

موفق باشید.

cjNet
جمعه 26 آذر 1389, 16:49 عصر
سلام .
هر وقت صفحه برای اولین بار بارگذاری بشه مقدار IsPostBack برابر False است و در دفعات بعدی این مقدار به True تبدیل میشه .

alonemm
جمعه 26 آذر 1389, 21:36 عصر
از صحت برقراری صحیح اطلاعات به صفحه کد مطلع شوید.