@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<div id="elem">
<div class="fields">
<select name="items[1][0]" id="items[1][0]">
<option value="1">Book</option>
<option value="2">Brush</option>
</select>
<input type="text" value="1" name="items[1][1]" id="items[1][1]">
<a id="test" href="#">Remove Item</a>
</div>
</div>
</div><a href="#" id="addElem">Add Item</a></div>
<br />
<input type="submit" name="name" value="Submit" />
}
基本的に、名前フィールドとシリアル フィールドの 2 つのフィールドのセットがありますが、2 次元配列で定義されています。このリンクは、ユーザーがクリックすると、 JavaScript を使用しAdd Item
て現在の時間である ID を持つ新しいフィールド セットを追加するように機能します。var new_id = new Date().getTime();
たとえば、新しいフィールドのセットは次のようになります。
<div class="fields">
<select name="items[1368034980308][0]" id="items[1368034980308][0]">
<option value="1">Book</option>
<option value="2">Brush</option>
</select>
<input type="text" name="items[1368034980308][1]" id="softwarePerAsset[1368034980308][1]">
</div>
items
編集アクションが配列を通過し、2 つのフィールドを追加する編集アクションにそれらを送信したいと思います。
私の編集アクションは次のようになります。
[HttpPost]
public ActionResult Edit(FormCollection col, string[,] items)
{
return View();
}
このアクションにブレーク ポイントを設定しましたが、配列が空で、変数items
を介してしかフィールドにアクセスできません。FormCollection col
items
配列が正しく設定されていないために欠けているものはありますか。