2011-08-24 55 views
1

我有一个问题:在我的项目我有一个LinkBut​​ton其执行以下操作:会话变量,饼干和UpdatePanel的Load事件

Response.Cookies("synthetic_fm_user_session")("session_id") = String_Session_Id 
Response.Cookies("synthetic_fm_user_session").Expires = DateTime_Session_Stop 

Session("Integer_User_Id") = Integer_User_Id 

UpdatePanel.Update() 

我的UpdatePanel Load事件看起来像这样:

If Not Request.Cookies("synthetic_fm_user_session") Is Nothing Then 

    Panel1.Visible = True 

End If 

If Not Session("Integer_User_Id") Is Nothing Then 

    Panel2.Visible = True 

End If 

然后,当我点击这个LinkBut​​ton,它将会话变量和Cookies设置为某个值(Not Nothing)并更新UpdatePanel Load事件中的UpdatePanel时,会话变量和Cookie仍然没有!并在第二个UpdatePanel.Update()会话变量和饼干变得不是什么!

为什么会发生,以及如何解决它?

+0

是否已进行了肯定被写入的值不是什么都没有? – StefanE

+0

因为我有。 –

回答

1

UpdatePanel的Load事件仅在页面加载时执行。运行UpdatePanel.Update()将不会再次执行加载事件。

看起来你应该有一个单独的函数来设置更新面板的知名度和执行,而不是在UpdatePanel.Update页面Load事件

+0

但在我的项目中,我必须在每个UpdatePanel.Update()上执行一些函数。可能吗?我应该使用哪个事件? –

+0

创建您自己的“事件”,它将执行您的所有代码,然后创建您在该函数中调用UpdatePanel.Update()的最后一件事。您直接使用这个新函数而不是UpdatePanel.Update()。 – StefanE

+0

感谢您的回复!我会尽力这样做! –