En ASP.NET MVC, cómo recibir el diccionario de parámetros en una acción?
-
21-08-2019 - |
Pregunta
La mayoría de las acciones en mi controlador han estáticamente definido listas de parámetros y por lo que corresponden muy bien con los ejemplos del manual estándar:
public ActionResult SomeAction(string id, string arg1, string arg2)
{
// use arg1, arg2...
}
Pero tengo un caso problemático donde la vista reúne una forma dinámica, por lo que el conjunto de parámetros es completamente dinámico. Yo sería feliz con una asignación de nombres de cadena de valores de cadena.
He intentado esto:
public ActionResult TroublesomeAction(string id, IDictionary<string, string> args)
{
// loop through args...
}
Pero args
se le pasa un null
. ¿Cuál es la forma más fácil en una acción para controlar la famosa "diccionario de parámetros" que tanto se habla en los mensajes de error en estos días?
Y si no hay una manera fácil, ¿cómo lo haría de la manera difícil?
Solución
A partir de un controlador, tenemos acceso a lo siguiente:
Request.Form
que contiene exactamente lo que necesito, así que no hay necesidad de asignar a una alegación sobre la acción.