Windows CE 6 の注文入力フォームには、列名が重複するフィールドが含まれています。このデータは、ポスト コントローラーの ASP.NET MVC4 アプリケーションで列挙する必要があります。
フォームは実行時にユーザー定義データから作成されるため、列名はコントローラーでは認識されません。
以下のコードを試しましたが、重複した名前に対してカンマ区切りの値が返されます。
投稿されたすべてのキーと値のペアを、フォームに表示される順序で個別に取得する方法は? 問題を解決できる場合は、jquery を使用してデータを json 形式で投稿することもできます。
観測結果:
id=1,1,2
orderdate=2013-01-01
quantity=12.2,15
期待される結果:
id=1
orderdate=2013-01-01
id=1
quantity=12.2
id=2
quantity=15
意見:
<!DOCTYPE html>
<html>
<body>
<form method='post' action='SaveOrder'>
Order id<input name='id' type='text' value='1' />
Date <input name='orderdate' type='date' value='2013-01-01'/>
Row 1 id <input name='id' type='text' value='1' />
Quantity <input name='quantity' type='text' value='12.2'/>
Row 2 id <input name='id' type='text' value='2'/>
Quantity <input name='quantity' type='text' value='15' />
<input type='submit' value='Save order'/>
</form>
</body></html>
コントローラ:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SaveOrder(NameValueCollection form)
{
for (int i = 0; i < form.Count; i++)
Console.WriteLine(form.GetKey(i)+"="+ form[i].ToString());
}