-2

javascript で tempdata または viewdata の値を抽出するにはどうすればよいですか? 値が設定されているにもかかわらず、これは "" を返します。構文が間違っていませんか? 文字列へのキャストと同様に、「」なしで試しました。何も機能していないようです...

var message = '@TempData["Message"]';
4

1 に答える 1

0

値が設定されているにもかかわらず、これは "" を返します。

に何らかの価値があると確信していますTempDataか? その値を設定する際に間違いを犯したと思います。

これを確認してから、正しく行っていることを確認してください。

  • TempDataは非常に短期間のインスタンスであることを意図しており、現在のリクエストと後続のリクエストの間のみ使用する必要があります。
  • このTempDataように動作するため、次のリクエストがどうなるかを確実に知る必要があり、これを保証できるのは別のビューにリダイレクトするときだけです。
  • したがって、使用TempDataが確実に機能する唯一のシナリオは、リダイレクトする場合です。これは、リダイレクトによって現在のリクエストが強制終了され、サーバー上に新しいリクエストが作成されて、リダイレクトされたビューが提供されるためです。
  • 簡単に言うと、Asp.Net MVC TempData dictionaryコントローラー アクション間でデータを共有するために使用されます。
  • の値は、TempData読み取られるか、現在のユーザーのセッションがタイムアウトするまで保持されます。
  • デフォルトでは、TempDataはそのコンテンツをセッション状態に保存します。
  • TempData値は、読み取り時に削除対象としてマークされます。リクエストの最後に、マークされた値はすべて削除されます。
  • 利点は、複数のリダイレクトのチェーンがある場合TempData、実際にそれらを使用するまで値が空になることはなく、その後自動的にクリアされることです。
于 2013-06-21T12:27:33.323 に答える