0

我有一个用于各种网页的类,同一个类可以在同一个页面中使用两次。类成员在代码的各个部分都可以访问,所以我这样声明......

Public Class Page
    Inherits System.Web.UI.Page

    Dim UserDetails as New User
    Dim ThisMonthDD as New DeadlineDates
    Dim LastMonthDD as New DeadlineDates

    Protected Sub Page_Load()

       If Not IsPostBack Then
          UserDetails.GetUserDetails(Request.ServerVariables("LOGON_USER").Split("\")(1))
          ThisMonthDD.BaseDate = Now()
          ..........
       Else
          ..........
       End If
    End Sub

    Protected Sub SomeOtherEvent()

          Tb_claimdatedeadline = ThisMonthDD.UserSubmitDeadline
          .......
    End Sub

如何阻止类在回发时重置并对页面类中的所有事件可见?

4

1 回答 1

1

如果您的类是可序列化的,您可以将整个对象(及其状态)保存到会话中。当你添加它时,它看起来像这样:

HttpContext.Current.Session.Add("currentUserDetails", UserDetails)

如果您想稍后引用它(或更新它),您应该检查它的存在并采取相应的行动,如下所示:

If HttpContext.Current.Session.Item("currentUserDetails") IsNot Nothing Then
     ' Do stuff with it here
End If
于 2013-06-11T14:40:08.833 回答