ASP.NET MVC - Como posso acessar o FormCollection do ActionExecutedContext?
-
20-12-2019 - |
Pergunta
Em um modo de exibição, estou adicionando uma entrada personalizado para o formulário.Esta entrada não é uma parte do modelo que a vista é vinculado.É altamente personalizado e depende das condições em tempo de execução.
Quando o controlador processa o POST, eu posso acessar o formulário publicado campo, sem problema.
[HttpPost]
[MyCustomActionFilter()]
public ActionResult Edit(int id, IJobType jobType, FormCollection formCollection)
{
// blah
string customValue = formCollection["CustomField"];
return View(jobType);
}
Eu tenho um ActionFilter que é executado após a ação de um controller para lidar com a entrada personalizado, mas eu não vejo nenhuma maneira fácil de acessar o FormCollection a partir deste filtro.
[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?
}
}
Alguma idéia de como eu pode facilmente referenciar o FormCollection a partir deste filtro?
Isto é para ASP.NET MVC 5.
Obrigado!
Solução
Parece que você poderia fazer algo parecido com isso
var formCollection = new FormCollection(
filterContext.HttpContext.Request.Form
);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow