- - PR -
ViewStateをモジュールやクラスで共通化する方法は?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-07-08 17:03
Webの複数のPageで同じようなことをしているViewStateの処理を
共通化したいのですがどうすればよいのでしょうか? 思い描いているのは下記のような感じなのですが、「viewstateが宣言されていません」 とエラーが返ります。 Public Structure UrlInfo Public OPEN As String Public MENU As String End Structure Public InfoUrl As UrlInfo Public Function SetViewState(ByVal AA As UrlInfo) viewstate("OPEN") = AA.OPEN viewstate("MENU") = AA.MENU End Function Public Function GetViewState(ByRef AA As UrlInfo) AA.OPEN = viewstate("OPEN") AA.MENU = viewstate("MENU") End Function お分かりになられる方がお見えでしたら、教えて戴けないでしょうか? 宜しくお願いします。 | ||||
|
投稿日時: 2004-07-08 17:39
まさか複数のWebページで同じ値を使い回すためにViewStateを利用しようとしているのではないですよね?
と前置きしたうえで。 ViewStateはSystem.Web.UI.Pageが保持するプロパティ(UI.StateBag)ですから
こんな感じです。変数のスコープを考えましょう。 または、pを予めクラスのインスタンス変数に保存させておいても可かと(←このやり方はモジュールではNG)。 | ||||
|
投稿日時: 2004-07-08 18:11
私だったらこうします。
| ||||
|
投稿日時: 2004-07-09 10:15
まるく殿、一郎殿、ご返答ありがとうございます。
一郎殿のクラスのプロパティを使用することで実現することができました。 ありがとうございます。 Protected Property UrlInfo() As UrlInformation ↓ Public Property UrlInfo() As UrlInformation | ||||
|
投稿日時: 2004-07-09 10:51
余計なお世話かもしれませんが、Protectedのままで正しいです。スコープをPublicにされているという事は、一郎さんの書き込み内容が正しく伝わっていないという事です。 本当に保持した値をうまく取り出せていますか? そのクラスをSessionに入れたりしているなら、ViewStateを利用している意味がないですし、ちょっとその辺りがよく判りませんでした。 |
1