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

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

ただいまの
回答率

90.47%

  • C#

    7445questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • ASP.NET

    547questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • ASP.NET MVC Framework

    64questions

    ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Asp.Net core MVCでのTempDataのデータが消えてしまう

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 71

o_ringo_0909

score 0

 前提・実現したいこと

下記のような簡単なサンプルを用意してTempDataが使用できるか確かめてみましたが、ブレークポイント1では実際に値が格納されていましたが、ブレークポイント2ではCountが0になりModelにnullが格納されてTempDataが使えない状態です。

この場合のどのように対策するべきでしょうか。
Asp.Net core MVC を使ってまだ日が浅いため手詰まりの状態です。
もし詳しい方いましたらお知恵かしてくだい。Orz

testAのViewからPOST→testBのViewからPOST→tesCといった流れで行いました。
実際にテストを行う前にTempDataを使う前のミドルウェアの設定についても設定し終えている状態です。

ちなみに下記サイトのサンプルも試しましたが正常に動きませんでした。
http://miso-soup3.hateblo.jp/entry/2013/12/14/070356

 該当のソースコード

public class HomeController : Controller
{
    public IActionResult testA()
    {
        return View();
    }

    [HttpPost]
    public IActionResult testB()
    {
        TempData["test_data"] = "hoge";        ●ブレークポイント1
        return View();
    }

    [HttpPost]
    public IActionResult testC()
    {
        var hoge = TempData["test_data"];    ●ブレークポイント2
        return View();
    }
}

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

VisualStudio2017

 追記

SurferOnWwwさん質問ありがとうございます。
新しいプロジェクトを作成して、記事の内容を試したら正常に動くことが確認できました。
ですが、はやり今現在自分が作成しているプロジェクトファイルでは同じように設定しても
TempDataが正常に動作しない状態です。
1点きになるのが、下記の内容が 通常は上から表示されるものだと思うのですが、そのままBodyHtmlに表示されています。

Toggle cookie consent banner
Use this space to summarize your privacy and cookie use policy.
Learn More  Accept

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正の依頼

  • SurferOnWww

    2018/11/09 11:18

    参考にされている記事 http://miso-soup3.hateblo.jp/entry/2013/12/14/070356 の Peek とか Keep とかの裏技は置いといて、基本の「確認1」だけやってみてダメ(TempData に保持したはずの "りんご" は表示されない)ということですか?

    キャンセル

  • o_ringo_0909

    2018/11/09 13:39

    追記しました。確認お願いします。

    キャンセル

  • SurferOnWww

    2018/11/09 14:49

    > 今現在自分が作成しているプロジェクトファイルでは同じように設定してもTempDataが正常に動作しない状態です。 ← そう言われても自分には分からないです。質問者さんの方で原因の部分を切り分けていただくほかないと思います。

    キャンセル

  • SurferOnWww

    2018/11/09 14:51

    > 下記の内容が 通常は上から表示されるものだと思うのですが、そのままBodyHtmlに表示されています。 ← スクリーンショットを撮ってその画像を貼ることはできませんか?

    キャンセル

まだ回答がついていません

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

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

関連した質問

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

  • C#

    7445questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • ASP.NET

    547questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • ASP.NET MVC Framework

    64questions

    ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。