質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.93%

session変数について

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 211

Umashio

score 2

前提・実現したいこと

ページ間でデータのやり取り(値の受け渡し)をしたいと考えております。

流れとしましては
①入力フォームに必要事項を入力
②ボタンクリックで内容確認画面へ
⇒その前に入力フォームのチェックが入ります。
③確認してOKであれば送信ボタンクリック
④送信完了画面表示
⇒任意で申請内容の控えをPDFでダウンロード

発生している問題・エラーメッセージ

②のボタンクリックの部分で行き詰まってしまいました。
<a>タグでボタンを作成しているのですが、Text1.Textの値を見てみると何故かNathingになっています。
下記、該当コード

   <a id="Btn_Check" class="btn btn--confirmation btn--radius btn--cubic">申請内容の確認</a>
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
                Session("Text1") = Text1.Text     
                Session("Text2") = Text2.Text                   
                Session("Text3") = Text3.Text               
                'リダイレクト(確認画面へ遷移)
                Response.Redirect("遷移先のULR")
        Catch ex As Exception
            '*** エラーログ出力
            log.Error(ex)
        End Try
    End Sub

試したこと

試しに<asp:Button/>にして同じようにしたところこちらでは上手くいきました。

<asp:Button ID="Dummy_Check" runat="server" Text="申請内容の確認" onclick="Button1_click" /></div>
    '確認ボタン
    Protected Sub Dummy_Check_click(ByVal sender As Object, ByVal e As EventArgs) Handles Dummy_Check.Click
        Try
                Session("Text1") = Text1.Text     
                Session("Text2") = Text2.Text                   
                Session("Text3") = Text3.Text               
                'リダイレクト(確認画面へ遷移)
                Response.Redirect("遷移先のULR")
        Catch ex As Exception
            '*** エラーログ出力
            log.Error(ex)
        End Try
    End Sub


<a>タグのボタンで実装したいので、何か解決策はありませんでしょうか?
以上、宜しくお願い致します。

補足情報(FW/ツールのバージョンなど)

Microsoft Visual Studio2010
.Net Framework 4

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • SurferOnWww

    2020/07/02 18:57 編集

    ひょっとしてわんくま掲示板で質問した人と同一人物ですか?
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=95205
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=95216

    キャンセル

  • Umashio

    2020/07/03 08:40 編集

    はい。
    同じところに質問しようとは思ったのですが、書くコードが多かったため分かりやすいこちらにしました。
    補足に書こうとしたのですが、あまり他の掲示板のことを書くのはよくないと思い書きませんでした。
    不快でしたら申し訳ございません…。aspの方です。

    キャンセル

  • SurferOnWww

    2020/07/03 09:03 編集

    先のわんくま掲示板のスレッドはちゃんとクローズされていますので、その後場所を変えて質問することには少なくとも自分は (たぶん他の大多数の方も) 何も異議はないです。

    ただ、前のスレッドの url を書いてその続きであることを質問欄に書いていただいた方が、それを知らない回答者・閲覧者には状況がより分かって、質問者さんにとっても的を得た回答が得やすくなると言うメリットがあると思います。

    キャンセル

  • Umashio

    2020/07/03 09:19

    なるほどですね。
    ご丁寧にありがとうございます。
    次回からはそうさせて頂きます。

    キャンセル

回答 1

checkベストアンサー

0

Button コントロールを使ってその Click イベントで処理したら期待通りになったとのことですので、Button に代えて LinkButton を使用し、同様にその Click イベントで処置してはいかがでしょう。

それでは期待通りにはならないと言う場合は、どこがどう期待と違うかをコメント欄に書いてください。対応策を考えますので。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/03 10:15

    では、もう一つ質問したいのですが、内容確認画面へ遷移した際に「送信ボタン」と「再編集ボタン」を配置しているのですが、「再編集ボタン」を押した際に入力フォームに戻るようにしています。
    同じようにSession変数に値をセットして入力フォームに表示させた方がいいのでしょうか?

    キャンセル

  • 2020/07/03 10:41 編集

    > 同じようにSession変数に値をセットして入力フォームに表示させた方がいいのでしょうか?

    「入力フォーム」と「内容確認画面」が異なる Page のようですので、そうせざるを得ないと思います。

    (絶対 Session でなければならないというわけではなく、クエリ文字列などでも可能ですが、「入力フォーム」から「内容確認画面」へ遷移した時に Session を使うのが適当と判断されたのであれば、その逆方向の遷移も Session を使うのが適当だと思います)

    ただ、「内容確認画面」から「入力フォーム」へ差し戻す可能性があるなら、方針変更して「入力フォーム」と「内容確認画面」を同じ Page に実装した方が筋がよさそうです。

    同じ Page ならデフォルトでは ViewState が有効に働きますので、ポストバック前後でのユーザー入力は維持できます。「入力フォーム」と「内容確認画面」は別々の Panel に実装して切り替えるということでよさそうです。

    そのあたりの話は本題とは違ってくるので、疑問点などがあれば新たに別のスレッドを立てて質問してください。

    キャンセル

  • 2020/07/03 11:03

    ご回答ありがとうございます。
    なるほどですね。少し考えてみようと思います。
    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る