0

同じ Web フォームの複数のインスタンスを使用すると問題が発生する次の変数があります。この目的を達成するために共有以外の変数を使用する方法を教えてください。

Public strRoleType As String = String.Empty
Protected Shared isAreaSelected As Integer = 0
Protected Shared isStoreSelected As Integer = 0
Protected Shared isHeadOfficeSelected As Integer = 0
Protected Shared isRegionSelected As Integer = 0
4

2 に答える 2

1

削除するだけSharedで、すべてが正常になります。

于 2010-03-25T17:03:22.423 に答える
0

これは大変な作業ですが、フォーム レベルのストレージが作成されます

共有変数ごとに、それを Web フォームのプロパティに変換します。次に、ViewState に値を格納します。

'default to 0 if blank, else convert to int
Public Property IsAreaSelected() As Integer
    Get
        Return If(ViewState("IsAreaSelected") Is Nothing, 0, Cint(ViewState("IsAreaSelected")))
    End Get
    Set(ByVal value As Integer)
        ViewState("IsAreaSelected") = value
    End Set
End Property

このようにして、値はページにとどまります。

これはVSではなくオンザフライでコーディングしたため、微調整が必​​要になる場合があることに注意してください。

于 2010-03-25T17:28:43.453 に答える