ASP.NET MVC - ActionExecuteContext에서 FormCollection에 어떻게 액세스 할 수 있습니까?

StackOverflow https://stackoverflow.com//questions/23000110

  •  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
);
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top