在發佈的表單上創建和處理一組相關控件的正確方法是什麼?在發佈表單時處理複選框列表和單選按鈕列表
從使用ASP.NET MVC我看到一個標準的選擇是創建一個數量的輸入和相同的「name」屬性值分配給他們。就像這樣:
<input name="OrderOptions" type="checkbox" value="1" />
<input name="OrderOptions" type="checkbox" value="2" />
...
<input name="OrderOptions" type="checkbox" value="N" />
代加工的形式,當我們在一個逗號分隔的字符串中的所有值:
public OrderController
{
public ActionResult (FormCollection form)
{
string selection = form["OrderOptions"];
}
}
現在,這是它應該如何與任何服務器技術做了什麼?爲輸入分配相同的名稱值是否會破壞某些驗證規則或某些內容?
一個額外的問題:如果我是使用內置的HTML輔助,我會得到既「id」和「name」屬性所產生的輸入。像這樣:
<input id="OrderOptions" name="OrderOptions" type="checkbox" value="1" />
<input id="OrderOptions" name="OrderOptions" type="checkbox" value="2" />
...
<input id="OrderOptions" name="OrderOptions" type="checkbox" value="N" />
但是,在文檔中有多個具有相同「id」的元素顯然是無效的。它仍然有效。
如果我放棄了標準的幫手,讓我自己,做我需要插入「id」屬性來輸入,如果我不真的需要它(除非在某些情況下,標籤)?有些人告訴我們必須始終將「id」和「name」屬性分配給元素,因爲與舊瀏覽器存在一些不兼容性,並且「name」屬性已被棄用(我知道它僅適用於其他元素)。但即使我想,我也必須爲輸入元素分配不同的ID /名稱值,然後我無法將它們作爲一個組處理。你看到我的困境?
任何意見非常感謝。