ASP.NET MVC - ActionExeCutedContextからFormCollectionにアクセスするにはどうすればいいですか?
-
20-12-2019 - |
質問
図中、私はフォームにカスタム入力を追加しています。この入力は、ビューがバインドされているモデルの一部ではありません。それは高度にカスタマイズされており、実行時の条件によって異なります。
コントローラが投稿を処理するとき、私は問題なく投稿されたフォームフィールドにアクセスできます。
[HttpPost]
[MyCustomActionFilter()]
public ActionResult Edit(int id, IJobType jobType, FormCollection formCollection)
{
// blah
string customValue = formCollection["CustomField"];
return View(jobType);
}
.
カスタム入力を処理するためのコントローラアクションの後に実行されるActionFilterを持っていますが、このフィルタからFormCollectionにアクセスする簡単な方法はありません。
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class MyCustomActionFilter : FilterAttribute, IActionFilter
{
public MyCustomActionFilter()
{
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
// How to access the FormCollection here?
}
}
.
このフィルタからのフォームコレクションを簡単に参照できる方法についてのアイデアは?
これはASP.NET MVC 5用です。
ありがとうございました!
解決
このようなことができるようです
var formCollection = new FormCollection(
filterContext.HttpContext.Request.Form
);
. 所属していません StackOverflow