2011-09-22 4 views
9

Estoy trabajando en tener una pantalla que permita al usuario cambiar el orden de los elementos, y cuando el usuario haga clic en el botón "Guardar" mi javascript mirará el orden de los artículos <li>, y en el orden que encuentre ellos formará una matriz con un valor de identificación y lo enviará de regreso a mi aplicación. Espero que los datos POST para que parezca:¿Puedo suponer que la orden en la que envío valores sobre POST se vinculará al modelo de una matriz en el mismo orden en Asp.net MVC?

stepIds=5&stepIds=2&stepIds=1 

Esto significa que los pasos están en el orden de # 5, a continuación, # 2, y por último # 1. En mi aplicación Asp.Net MVC planeo atraparla con:

public virtual ActionResult Reorder(short[] stepIds) { } 

Mi pregunta es, Asp.net MVC SIEMPRE forma la matriz stepIds en el mismo orden que los valores se especifican en la cadena POST, o ¿necesito hacer un POST más complicado para asegurar que el orden que el usuario elige es el orden que el servidor ve?

Respuesta

3

No, no puede confiar en la orden. La forma en que esto se implementa en ASP.NET 4.0 de hecho conservará el orden, pero esto podría cambiar en futuras versiones. Puede consultar el método privado HttpValueCollection.FillFromString con Reflector para ver cómo se implementa.

La única manera confiable para garantizar el orden es el siguiente:

stepIds[0]=5&stepIds[1]=2&stepIds[2]=1 
Cuestiones relacionadas