Domanda

In una vista, sto aggiungendo un ingresso personalizzato al modulo.Questo input non è una parte del modello in cui la vista è destinata a.È altamente personalizzato e dipende dalle condizioni di runtime.

Quando il controller gestisce il post, posso accedere al campo modulo pubblicato senza problemi.

[HttpPost]
[MyCustomActionFilter()]
public ActionResult Edit(int id, IJobType jobType, FormCollection formCollection)
{
    // blah

    string customValue = formCollection["CustomField"]; 

    return View(jobType);
}
.

Ho un actionFilter che esegue dopo l'azione del controller per gestire l'ingresso personalizzato, ma non vedo alcun modo semplice per accedere al formccollezione da questo 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?
    }
}
.

Qualche idea su come posso facilmente fare riferimento alla formccollezione da questo filtro?

Questo è per ASP.NET MVC 5.

Grazie!

È stato utile?

Soluzione

Sembra che tu possa fare qualcosa come questo

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top