問題タブ [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.

0 投票する
3 に答える
4365 参照

asp.net-mvc-2 - ブラウザCookieのASP.NETMVCTempData

カスタムITempDataProviderプロバイダーを使用して、セッション状態ではなくブラウザーのCookieにTempDataを保存しようとしています。ただし、Cookieを読み取った後、応答ストリームからCookieを削除できないことを除いて、すべて正常に機能します。

何か案は?
ありがとう!

0 投票する
1 に答える
2185 参照

asp.net-mvc - ASP.NET MVC を使用した TempData と偽の HttpContext の問題

私は偽の HttpContext (最後に提供されるコード) を使用していますが、TempData コレクション (SetFakeControllerContext メソッドの 4 行目) にアクセスできないため、おそらく何かが不足しています。試行するたびに、次のエラー メッセージが表示されます。

「controller.TempData」が「System.AccessViolationException」タイプの例外をスローしました

FakeHttpContext を呼び出すコードは次のとおりです。

私が間違っていることを誰かが知っていますか?

}

Ps: 私は Moq を使用しています

更新

ああ、神様!!信じられない!問題が間違った MVC dll への参照であったことを突き止めるのに 2 時間以上かかりました。メインアプリでは System.Web.Mvc 2.0 を参照していましたが、別のプロジェクトでは System.Web.Mvc 1.0 を参照していました。これにつきましては申し訳ございません!

0 投票する
1 に答える
2007 参照

asp.net-mvc-2 - ASP.NET MVC 2 での読み取り後に保持される TempData

ASP.NET MVC 2 では、TempData値はセッションが終了するか読み取られるまで保持されます。マイクロソフトの言葉で...

TempData の値は、読み取られるか、セッションがタイムアウトするまで保持されます。このように TempData を永続化すると、リダイレクトなどのシナリオが可能になります。これは、TempData の値が単一の要求を超えて使用できるためです。

私はこれを理解していると思っていましたが、TempData値が利用可能であり、利用可能であってはならないアプリケーションで異常な動作に遭遇しました。一般に、最初のアクションでTempData値を設定し、次のいくつかのアクションでそのTempData値を読み取ってから設定し、最後のアクションで TempData 値を読み取る一連のアクションを持つコントローラーがあります。以下の擬似コード...

私の信念は、値を読み取った後は、TempData で使用できなくなるというものでした。しかし、コードのステップ実行を開始すると、割り当て時にキー/値が TempData に追加されますが、TempData から値を取得しても (別のコントローラーに到着した場合でも) 消えることはありませんでした。

私がそれを消すことができる唯一の方法は、から読み取るアクションを手動でヒットすることですTempData

TempDataASP.NET MVC 2 の永続化で何が起こっているのかをよりよく理解するのに役立つポインタを誰かが提供できますか?

0 投票する
1 に答える
8686 参照

asp.net-mvc - HttpContextからTempDataキー/値にアクセスすることは可能ですか?

カスタムアクションフィルター属性を作成しようとしています。また、TempData [key]やTryUpdateModelなどの機能が必要な場合もあります。ActionFilterAttributeから派生したカスタム属性クラスでは、以下の両方のメソッドにアクセスできます。

残念ながら、両方のfiltercontextローカル変数から、TempDataにアクセスする方法がわかりません。私はいくつかのリードをたどろうとしましたが、成功しませんでした。結局のところ、filterContext変数にTempDataがあるのか​​もしれません。その場合、利用可能なTemDataにアクセスするにはどうすればよいですか?

助けてくれてありがとう

0 投票する
2 に答える
4066 参照

viewmodel - ASP.NET MVC 3 の動的 TempData

私は ASP.NET MVC 3 を使用してサイトを実行しようとしていましたが、新しい動的 ViewModel に出会いました。「魔法の文字列」を使用せずに値をビューにすばやく渡すのは素晴らしいことです。RedirectToAction の後に値を保持する TempData に似たものがあるかどうか疑問に思っています。

ありがとう。

0 投票する
1 に答える
268 参照

asp.net-mvc-2 - asp.net mvc エラーを処理し、コントローラーから同じビューを使用するにはどうすればよいですか?

次のようなアクションがあります。

このエラー処理ロジックをメソッドから取り出したいと思います。ただし、デフォルトの [HandleError] の方法ではなく、エラーの場合にユーザーを別のビューにリダイレクトする代わりに、TempData["error"] で同じビューを返し、通知が同ページのトップ。

この try{}catch{} コードをすべて削除し、このロジックをこのアクションの外に置き、他のアクションについても同様にするにはどうすればよいでしょうか?

0 投票する
7 に答える
15670 参照

php - PHP:SESSIONSの代替

私はセッション変数にかなり依存するPHPアプリケーションを持っています。ログイン後、ユーザーは、ユーザーが誰であるかに応じてセッション変数のロードを設定するコードを実行するページにリダイレクトされます。アプリケーションはさまざまなソースからのデータを使用しており、セッションはデータベースを照会するためのID番号を格納するために使用されます。

したがって、ユーザーが資産管理システムにクエリを実行するページに移動すると、その特定のデータベースのIDがセッションを介して呼び出されます。

最近、セッション変数に関して多くの問題が発生しました。アプリの存続期間中に1つのセッションファイルのみが作成される場合もあれば、各セッションリクエストによって新しいセッションIDが生成される場合もあります(理由を特定できていない場合もあります)。

私の質問はこれです。これにセッション変数を使用する代わりの方法はありますか?グローバルまたは他の方法のように?

ここで私のセッションの問題について質問があります-PHPセッション変数が維持されていません

0 投票する
3 に答える
3899 参照

asp.net-mvc - TempData は常に空です

Post とその後のリダイレクトの間でメッセージを保存するために TempData を使用したいのですが、TempData は常に空です。

TempData を渡すためのインフラストラクチャを提供する BaseContoller があります。単純化されたコードは次のようになります。

アクション メソッドは次のようになります。

アプリケーションは、VS 開発 Web サーバーでテストされます。Ajax 呼び出しはなく、マスター ページからすべての Html.RenderAction 呼び出しを削除しました。TempData は、GetAuditedMessages で要求ごとに 1 回だけアクセスされ、OnResultExecuting で 1 回だけ保存されることがわかります。データを上書きするものはありません。セッション状態は許可されています。

コードは少し単純化されています。また、偽造防止トークン、承認およびアクション選択用のカスタム フィルターも使用していますが、TempData の動作には影響しません。

わかりません。以前、テスト アプリケーションで TempData を使用しましたが、問題なく動作しました。

0 投票する
1 に答える
827 参照

asp.net-mvc-2 - TempData asp.net mvc 2からカスタムタイプを取得する

カスタム クラス MyCustomType があります。そのクラスには、bool 型のプロパティ MyCustomProperty と、bool 型の別のプロパティ MyCustomProperty1 があります。

ビューで MyCustomProperty が true かどうかを確認する必要があります。私は次のことをしています:

しかし、何らかの理由で私m running it I see error message that MyCustomTYpe could not be found are you missing an assembly reference bla-bla-bla. MyCustomType is in my controller itが公開されているときに、確認するためにビューへの参照を追加しました。しかし、MyCustomType クラスはないと言い続けています。私は何を間違っていますか?

興味深いことに、何らかの理由で Controllers 名前空間から Common に移動すると、突然機能しました。Controllers名前空間で動作しない理由はまだわかりません。両方の名前空間がビューに明示的に含まれていました。

0 投票する
1 に答える
1528 参照

.net - ビジネスオブジェクトからコントローラーコンテキスト/TempDataにアクセスする

交換できるセッション/一時データプロバイダーを構築しようとしています。デフォルトのプロバイダーはasp.netmvc上で機能し、ビジネスオブジェクトクラスから.netmvcTempDataにアクセスする必要がありました。tempdataがコントローラーコンテキストを介して利用できることは知っていますが、それがHttpContextなどを介して公開されているかどうかを確認できないようです。asp.netベースのセッションプロバイダーのみがこれを必要とし、他のプロバイダー(NoSQL DBなどを使用)はコントローラーコンテキストを気にしないため、コントローラーコンテキストを引数として渡したくありません。

さらに明確にするために、ここにもう少しコードを追加します。私のISessionインターフェースは次のようになります。このコードが本番環境に移行すると、セッション/一時データはNoSqlデータベースを使用して機能することが期待されます。しかし、開発テストなどのためにasp.netmvcセッション/tempdataの上で動作する別の実装も必要です。

パブリックインターフェイスISession