私はいくつかのコントローラ/アクションメソッドを呼び出すか、セッション変数を使用するヘルパーメソッドをatleastコールする必要があります。どのようにTagHelperのProcessメソッド内でこれを行うのですかMVC 6 TagHelperクラスからセッションやその他のWebコンテキストにアクセスするには?
1
A
答えて
2
ViewContextAttribute
は、タグヘルパー内のビューでも利用可能なコンテキスト(オブジェクトなど)へのアクセスを提供します。あなたのタグのヘルパークラスの内部
、追加:
[ViewContext]
public ViewContext ViewContext { get; set; }
を...そして、あなたは、特定のリソースに得るためにあなたのタグヘルパーの残りの部分で使用するためのプロパティを作成することができ、同様:
protected HttpRequest Request => ViewContext.HttpContext.Request;
protected HttpResponse Response => ViewContext.HttpContext.Response;
protected ISession Session => ViewContext.HttpContext.Session;
protected ITempDataDictionary TempData => ViewContext.TempData;
その後、
そして、あなたのProcessメソッドの中からそれらを使用します。私の場合は
、私は、タグヘルパーと子(同封)タグヘルパーを(囲む)親の間で値を渡すために必要な。カスタムオブジェクトを作成して両方に注入することもできましたが、これをNuGetパッケージにする可能性はわずかなため、起動時にこのDIを設定するようユーザーに負担をかけたくありませんでした。だから、
、私は親タグヘルパーのプロセス()メソッドでこれを追加しました:
TempData.Set("Test", "Passed the test!");
を...そして子タグヘルパーでこれを追加しました:
object result;
if (TempData.TryGetValue("Test", out result))
{
string success = result.ToString();
}
..それが働いた。 TempDataを使用しましたが、Sessionに依存します。セッションでも同じことができます。
関連する問題
- 1. MVC 6カスタムTaghelper検証 - ソリューション
- 2. ASP.NET 5/MVC 6のAspNet.TestHost.TestServerコンテキストのユニットテスト内のCookieにアクセス
- 3. クラス他のクラスからのコンテキスト
- 4. jbやその他のライブラリからvb.netネイティブdllファイルのクラスとメソッドにアクセスする方法
- 5. MVC 6のASP.Net 5タグヘルパーからRouteDataにアクセスする方法
- 6. 他のWebサイトからjsファイルにアクセス
- 7. 他のクラスからデリゲートメソッドにアクセスするには?
- 8. 他のクラスからフォームツールにアクセスするには
- 9. qmlコンテキストからクラスのインスタンスにアクセスする
- 10. Sharepointのタスクリストやその他のWebパーツはどうですか?
- 11. リスト内のオブジェクトに他のクラスからアクセスする方法は?
- 12. Fitnesseの結果やその他のデータにはJavaでアクセス
- 13. IIS 6はあるWebアプリケーションから他のWebアプリケーションへのアクセス権を許可します
- 14. Webミドルウェアからapiミドルウェアへのセッションにlaravel 5.3でアクセスする
- 15. 他のクラスからvoidメソッドにアクセスする方法は?
- 16. アプリケーションコードからAndroid UpdateEngine(または他のSystemApiクラス)にアクセスする
- 17. Mvc 6 taghelper aspアクションルートが動作しない
- 18. Asp MvcエリアからDbContextクラスにアクセス
- 19. 他のクラスから別のArrayListにアクセスする方法
- 20. 他の既存のクラスからNSMutableArrayにアクセスする
- 21. 他のマシンからWebアプリケーションにアクセスする方法
- 22. 他の派生クラスから派生クラスメソッドにアクセスする方法
- 23. 他のクラスからint変数にアクセスする
- 24. vb.netの別のクラスから作成したセッション変数にアクセス
- 25. Haskellプログラムから "+ RTS -s"やその他のメモリ情報にアクセスする方法は?
- 26. クラス変数にアクセスしてそれらとやりとりする靴?
- 27. React:ES6クラスのコンテキストへのアクセス
- 28. 他のモジュールのクラスにアクセスする
- 29. そのクラスからPythonインスタンスのvarにアクセスする
- 30. configSourceからconfigやその他のものをロードする
ここには、コンテキスト固有のタイプを挿入するために使用される他の属性のリストが含まれています。https://github.com/aspnet/Mvc/issues/4744 –