2011-09-22 4 views
9

私は、ユーザーが項目の順序を変更できる画面を持っています。ユーザーが「保存」ボタンをクリックすると、javascriptは<li>の項目を検索し、その順序で検索しますそれらはid値を持つ配列を形成し、それを私のアプリケーションに送り返します。これは、手順は#5、そして#2、そして最後に#1の順であることを意味POSTで値を送信する順序は、Asp.net MVCで同じ順序でモデルにバインドされていると仮定できますか?

stepIds=5&stepIds=2&stepIds=1 

:私は、POSTデータが見えるように期待しています。私Asp.Net MVCアプリケーションでは私はそれをキャッチすることを計画:

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

私の質問は常に、ますAsp.net MVC で、値がPOST文字列で指定されているのと同じ順序でstepIdsアレイを形成しますまたは、ユーザーが選択する順序を確実にするために、より複雑なPOSTを行う必要がありますか?

答えて

3

いいえ、あなたは注文に頼ることはできません。これがASP.NET 4.0で実装される方法は、実際には順序を保持しますが、これは将来のバージョンで変更される可能性があります。 Reflectorを使ってHttpValueCollection.FillFromStringプライベートメソッドを見て、実装方法を確認してください。

順序を保証する唯一の信頼できる方法はこれです:

stepIds[0]=5&stepIds[1]=2&stepIds[2]=1 
関連する問題