View Full Version : مشکل در viewsate و pageload
  
Ehsan Rafsanjani
دوشنبه 28 آذر 1384, 13:24 عصر
من توی یک صفحه یک کلید دارم که با کلیک اون باید به یک viewsatae یک مقدار داده  و توی pageload بازیابی بشه چون سیکل اجرای کلیک بعد از pageload باید دوبار کلیک کنم یعنی pageload همیشه یکی از کلیک عقب تره .............. چه جوری می تونم این مشکل رو حل کنم ......................
SalarSoft
دوشنبه 28 آذر 1384, 15:46 عصر
ترتیب اجرای روال page_load قبل از خواندن viewstat و قبل از بر انگیخته شدن رویداد ها است!
برای اینکه بتونید به درستی چیزی رو در viewstat ذخیره کنی اونو تو روال OnPreRender بنویس!
توجه کن که این روال بعد فراخوانی رویداد کلیک اجرا میشه!
ترتیب اجرای صفحه بدون جزئیات اینطوریه:
لود شدن صفحه -- مقداردهی وضعیت کنترل ها یا همون مرحله viewstat -- فراخوانی رویداد ها -- رندر صفحه -- پایان کار صفحه
Ehsan Rafsanjani
دوشنبه 28 آذر 1384, 16:02 عصر
اگه بتونین یک نمونه کد برام بزارین خیلی ممنون میشم آخه من تقریبا توی همه روال ها این کار رو انجام دادم ولی بازم نشد..........
Ehsan Rafsanjani
دوشنبه 28 آذر 1384, 17:02 عصر
به کد زیر توجه کنید
dim k as integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label2.Text = ViewState("er")
    End Sub
 Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        k = 3
    End Sub
 
    Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
      
        ViewState("er") = k
    End Sub
ولی بازم کار نمی کنه یعنی باید دوبار کلیک بشه؟؟؟؟؟؟؟؟؟؟؟؟
SalarSoft
سه شنبه 29 آذر 1384, 13:39 عصر
کدت رو اینطوری اصلاح کن:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  
End Sub
Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
	ViewState("er") = 3
End Sub
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
	Label2.Text = ViewState("er")
End Sub
اگه خواستی این قسمت رو هم به page_load اظافه کن:
if(ViewState("er")<>Nothing)Then
	Label2.Text = ViewState("er")
End if
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.