2010-10-26 9 views
7

Quiero llamar a una acción con algo similar a esto uri:Acción con una matriz de cadena como parámetro

http://server/controller/action/?columns=firstname&columns=lastname&columns=age 

y utilizar de esta manera:

public ActionResult Action(string[] columns) 
{ 

} 

cómo lo hago?

+0

FYI. Larificación sobre la solicitud POST - http://stackoverflow.com/a/2527206/1193727 – resnyanskiy

Respuesta

7

Google es mi amigo;)

http://server/controller/action/?columns[]=firstname&columns[]=lastname&columns[]=age 

Editar:

realidad que acaba de escribir como lo hice en mi pregunta original. La razón por la que no funcioné en primer lugar es que utilicé "columna" en la cadena de consulta y "columnas" en el parámetro de acción.

+0

trabajado gracias. tenía que asegurarse de que el nombre del argumento en el método de acción fuera el mismo que el arreglo en la url. – user1873073

0

No sé si es la diferencia entre los parámetros de obtener y publicar, pero su publicación original funciona perfectamente bien con los parámetros de publicación. De hecho, cuando se usan [] en los parámetros de publicación, la matriz se vuelve nula en el parámetro de acción. Descubrí esto cuando jQuery 1.4 comenzó a agregar [] en matrices json al publicar. Ver: http://www.dovetailsoftware.com/blogs/kmiller/archive/2010/02/24/jquery-1-4-breaks-asp-net-mvc-actions-with-array-parameters

Cuestiones relacionadas