ASP.NET MVC - ActionExecuteContext에서 FormCollection에 어떻게 액세스 할 수 있습니까?
-
20-12-2019 - |
문제
보기에서 양식에 맞춤 입력을 추가하고 있습니다.이 입력은 뷰가 바인딩 된 모델의 일부가 아닙니다.그것은 매우 맞춤화되어 런타임 조건에 따라 다릅니다.
컨트롤러가 게시물을 처리 할 때 문제없이 게시 된 양식 필드에 액세스 할 수 있습니다.
[HttpPost]
[MyCustomActionFilter()]
public ActionResult Edit(int id, IJobType jobType, FormCollection formCollection)
{
// blah
string customValue = formCollection["CustomField"];
return View(jobType);
}
.
CURTENTER 조치가 사용자 지정 입력을 처리 할 때 실행되는 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?
}
}
.
이 필터에서 FormCollection을 쉽게 참조 할 수있는 방법에 대한 아이디어는 무엇입니까?
ASP.NET MVC 5.
고맙습니다!
해결책
당신 이이 일을 할 수있는 것 같습니다
var formCollection = new FormCollection(
filterContext.HttpContext.Request.Form
);
. 제휴하지 않습니다 StackOverflow