2013-04-23 66 views
0

我只想控制用户点击哪个按钮,所以我使用会话变量来存储该数据,因为我必须在Page_Load中创建所有动态控制(以允许事件处理程序正常工作)。问题是这个会话变量在我第一次点击但是只是第二次不起作用。vb asp.net会话变量不工作?

这里是我的代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
      If Not Page.IsPostBack Then 
       'For the first time I want this session variable to be false because Image Button is not yet click 
       Me.Session("ImageClick") = False 
      End If 
      If Me.Session("ImageClick") Then 
       'Then after Button Image is clicked I try to add Dynamic control to a div 
       AddPreviewTable(0) 
       CreateButtomButton(Me.Session("totalPage")) 
       Debug.WriteLine(Me.Session("totalPage")) 
       Me.Session("ImageClick") = False 
      End If 
    End sub 

问题是我必须点击ButtonImage两次转向Me.Session("ImageClick")为True。

+0

您能显示ButtonImage单击事件代码吗? – Damith 2013-04-23 03:25:09

+0

'受保护的子btnImage_click(BYVAL发件人作为对象,BYVAL e作为EventArgs)处理btnImage.ServerClick Me.Session(“ImageClick”)=真 End Sub' – Norak 2013-04-23 03:32:32

回答

0

您的if块不正确。您需要将您的会话对象转换为bool

If (Session("ImageClick") Is Not Nothing And CBool(Me.Session("ImageClick"))) Then 
    'Do your stuff. 
End If 
+0

我对asp.net非常陌生,我也是使用VB.Net你可以给我一个使用vb.net的示例吗?非常感谢你的回答。 – Norak 2013-04-23 03:31:23

+0

对不起,我忽略了你使用VB.NET。 – 2013-04-23 03:34:21

+0

谢谢。 – Norak 2013-04-23 04:32:11