@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" />
}
基本上,它有一個兩個字段的集合名稱字段和序列字段,但在二維數組中定義。 Add Item
鏈接的工作原理是,當用戶點擊時,它將使用JavaScript添加一組新的字段,其ID爲當前時間var new_id = new Date().getTime();
。因此,例如,一組新的領域將是:c#表單元素的數組
<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
陣列,並新增兩個領域。
我的編輯操作是這樣的:
[HttpPost]
public ActionResult Edit(FormCollection col, string[,] items)
{
return View();
}
我設置了一個破發點上的這個動作,但items
數組是空的,我只能通過FormCollection col
變量訪問的字段。
有沒有我丟失的items
陣列沒有被正確設置。
如果否決,請做護理和評論爲什麼。謝謝。 – mpora 2013-05-08 17:56:40
是我第一次看到這個。通常要在表單中獲取數組,只需要在數組名稱和輸入後添加一個空[]。我認爲你最好的選擇是使用jQuery與數組構建一個JSON,並在後期發送JSON。 – 2013-05-10 19:09:44
是的,這是我最終做的。我的解決方案發布如下。 – mpora 2013-05-10 19:16:36