問題タブ [tempdata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - セッションが無効になっているのにSaveTempDataが呼び出される
ここで説明するように、web.configを介してmvc2アプリでsessionStateを無効にし、独自のcontrollerfactoryおよびダミーのtempdataプロバイダーも作成しました。
ASP.NET MVCでセッション状態を無効にするにはどうすればよいですか?
SaveTempDataが例外をスローするように作成したのは私だけです。
SessionオブジェクトまたはTempDataオブジェクトのいずれかを使用しているコードがないことを確認しましたが、「OnResultExecuted」イベントが発生した後もこの例外がスローされるのを確認しました。私は自分のmvc1サイトでこれとまったく同じパターンを使用していましたが、例外は見られませんでした。何か案は?
「SaveTempData」の実装を次のように変更すると、次のようになります。
すべてが期待どおりに機能します。どこでも使用していないときにSaveTempDataが呼び出される理由を知りたいと思っています。
アップデート
この記事を発見しました:http ://www.gregshackles.com/2010/07/asp-net-mvc-do-you-know-where-your-tempdata-is/
これは、ExecuteCoreがアクションの周りでPossiblyLoadTempDataとPossiblySaveTempDataを呼び出すことを説明しています-これが私の問題の原因でした。これはmvc2とmvc1の新しい追加ですか?
c# - ASP.NET MVC 3カスタムアクションフィルター-着信モデルをTempDataに追加するにはどうすればよいですか?
着信モデルをフィルターコンテキストから取得し、それをtempdataに追加してから、「その他の処理」を実行するカスタムアクションフィルターを構築しようとしています。
私のアクションメソッドは次のようになります。
ここで、モデルバインディングが開始され、フォーム値コレクションがに変換された後、にを追加model
します。TempData
MyViewModel
それ、どうやったら出来るの?
asp.net-mvc - MVC 3 CookieTempDataProvider と Ninject IOC
MVC 3 フューチャー アセンブリで CookieTempDataProvider を使用しようとしています。ninjectを使用して正常に「配線」したと思います。以下は、私の app_start.cs ファイルのコードです。
[アセンブリ: WebActivator.PreApplicationStartMethod(typeof(Web.AppStart), "Start")] 名前空間 Web { public static class AppStart { public static void RegisterServices(IKernel カーネル) {
ただし、TempData を使用するページにアクセスすると、まだ SessionTempDataProvider を使用しようとしていることを示す次のエラーが表示されます。
「/」アプリケーションでサーバー エラーが発生しました。SessionStateTempDataProvider クラスでは、セッション状態を有効にする必要があります。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.InvalidOperationException: SessionStateTempDataProvider クラスでは、セッション状態を有効にする必要があります。
私は何かが欠けているに違いなく、それが何であるかを理解できません。どんな助けでも大歓迎です。
どうもありがとう
model-view-controller - ASP.NET MVC では、Session の場合に TempData が保持されないのはなぜですか?
TempData を使用してあるコントローラー アクションから別のコントローラー アクションにオブジェクトを運ぶ ASP.NET MVC プロジェクトがあります。これは実際には同じアクションですが、HTTP 投稿を受け入れるバージョンです。
私の開発マシンでは、これは期待どおりに機能します。テスト マシンでは、TempData 値は 2 番目のコントローラー アクションで null です。
私が見たフォーラムの投稿は、sessionStateが機能していることを確認することを提案しています-私はそれを行いました。両方の Web サイトで sessionState が InProc に設定されています。どちらの web.config にも sessionState エントリは含まれていませんが、Session.Mode が InProc であることを確認しました。最初のコントローラ アクションでオブジェクトをセッションに配置すると、両方のマシンで 2 番目のコントローラ アクションで取得できます。
これを回避するには、最初のコントローラー アクションで TempData を設定するために使用したプロセスを 2 番目のコントローラー アクションでやり直しますが、テスト マシンで TempData が失われるのはなぜですか?
scheduled-tasks - 一時データの保存
トランザクション内で一時データを保存する必要がある場合があります。完了していない場合は削除されます。たとえば、画像のアップロード。
そのための最善の戦略は何ですか?実際のデータベースにデータを保存し、不完全なデータ(行)を削除するタスクスケジューリングを実行するか、一時スペースに保存しますか?
どうもありがとう 。
asp.net-mvc - 別のコントローラーでのMVC 3アクションですが、ViewModelが必要です
次の問題を解決するための最善の方法を探しています。SearchViewModel で利用可能な、選択可能なさまざまな基準を持つ検索ページがあります。これで、検索により製品である SearchResults のリストが返されます。それらはバスケットに直接追加できます。問題は、商品をバスケットに追加するアクションが SearchController ではなく BasketController にあることです。ユーザーがそれをクリックすると、SearchPage に戻りますが、行った選択はすべて失われます。
TempData を使用して問題を回避しようとしましたが、「クエリの結果を複数回列挙することはできません。」という例外が発生します。
ここで、モデルの結果のリストを表示すると、例外がスローされます。
また、部分ビューを使用してこれを行う方法があるかもしれないと考えましたか? もちろん、私の最後のリソースはコードを複製しているだけですが、そのアイデアには興奮していません...
どんなアイデアでも大歓迎です、ありがとう=)
編集 コントローラーの呼び出しは、次のようなフォームを使用して行われます。
asp.net-mvc - ModelStateエラーをTempDataにコピーし、ビューに表示します
私のアクションメソッドのほとんどは、成功するとPartialViewsを返し、失敗するとRedirectToActionの結果を返します。そのために、モデル状態エラーをTempDataにコピーして、ユーザーに表示できるようにします。SOといくつかの外部リンクに関するいくつかの質問をここで読みましたが、どれもうまくいきませんでした... MvcContribのModelStateToTempData
属性でActionMethodを装飾し、ビューに次のように表示しています:(これは単なるプロトタイプです)
エラー自体を表示するのではなく、取得し続けSystem.Web.Mvc.ValueProviderResult
ます。これがすべて間違っていることはわかっています。最終的には、モデルの状態エラーをTempData内のディクショナリにフィルタリングしたいのですが、今のところ、ビューにエラー文字列を表示したいだけです。
PS:MvcContrib属性を使用せずに手動で実行しようとしましたが、同じ結果が得られました。しかし、私は自分のコードを使用することを好みます。そうすれば、問題全体をより細かく制御できるようになります。
助言がありますか?
asp.net-mvc-3 - MVC3 では、TempDataProvider をグローバルにオーバーライドするにはどうすればよいですか?
ASP.NET MVC3 アプリケーションで TempDataProvider を変更したいです...オーバーライドすることで各コントローラーでこれを実行できることはわかっていますCreateTempDataProvider
...しかし、1 つの場所でこれを行う方法があるかどうか疑問に思っていました ("グローバル.asax?") をすべてのコントローラーに適用します。
私の理由は、私のサイトがクラウド サーバー上にあるためです...場合によっては Post-Redirect-Get パターンを実装したいのですが、ユーザーが別のサーバーに送信されてメッセージが届かないようにしたくありません。
asp.net - ASP.NET の ASP.NET MVC TempData に相当
ASP.NET MVC には、あるページから別のページにデータを 1 回渡すことができる TempData があります。ASP.NET でこれに相当するものは何ですか?
html - クエリ文字列パラメータが記憶されないようにするにはどうすればよいですか?
私はウェブサイトでメッセージングシステムを開発しています。
ユーザーがメッセージを送信すると、メッセージinbox?status=sent
が送信されたという適切なステータスが表示されるリダイレクト先になります。
ただし、彼女が受信トレイメッセージのいずれかを表示し、[戻る]をクリックすると、彼女は再びこのステータスのあるページに移動しますが、私はそれをもう表示したくありません。
これを処理する標準的な方法は何ですか?