ASP.NET MVC - Как я могу получить доступ к FormCollection от ActionExecteCtextextextext?

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

  •  20-12-2019
  •  | 
  •  

Вопрос

В поле зрения я добавляю пользовательский вход в форму.Этот вход не является частью модели, на которую связан вид.Это очень настроено и зависит от условий во время выполнения.

Когда контроллер обрабатывает сообщение, я могу получить доступ к области Posted Form без проблем.

[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?
    }
}
.

Любые идеи о том, как я могу легко ссылаться на FormCollection из этого фильтра?

Это для ASP.NET MVC 5.

Спасибо!

Это было полезно?

Решение

Кажется, вы могли бы сделать что-то вроде этого

var formCollection = new FormCollection(
   filterContext.HttpContext.Request.Form
);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top