• 締切済み

Sessionに格納した二次元配列を取得する方法

Sessionの事をいまいち良く分かってないのですが、 Dim Keys(3,9) As String →Keysの各要素に値を代入 Session("aa")=Keys →ここまではエラーは出力されません。 次にSessionを受け取る画面で、 Dim Key2(3,9) As String = Session("aa") とすると、 「Option Strict OnでSystem.ObjectからStringの二次元配列への暗黙的な変換はできません」 というエラーが出てしまいます。 そもそもSessionに格納するところから間違えているのでしょうか? よろしくお願い致します。

みんなの回答

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

Dim Key2(,) As String = DirectCast(Session("aa"), String(,)) で、できませんでしょうか? お試しください。

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.2

ASP.NETですね。 環境がないので推測です。 > Dim Key2(3,9) As String = Session("aa") を Dim Key2() As String = Session("aa") にしたらどうですか?

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

こんちは。 。。。ホントにエラー出てませんか?(汗 >>Dim Keys(3,9) As String そもそも、型宣言が無いはず。 ↓ Dim Keys(3,9) >>Dim Key2(3,9) As String = Session("aa") そもそも、宣言と同時に初期化は出来ないはず。 ↓ Dim Key2(3,9) Key2(0,0) = Session("aa")(0,0) ちなみに >>Session("aa")=Keys は問題ないようです。 Session変数にも、そのまま配列の格納は問題なくできるかと思います。 使い方としては。。。上でも書きましたけど Session("aa")(0,0) となります。 Session("aa")(0,0)とKeys(0,0)が対応~です。 まぁ。。。これが、「ASP.net」です。とか言われたら。。。 自分やってないので違うかもしれませんけどね。

関連するQ&A