Asp.net MVC中的DropDownLists貌似會讓一開始從Asp.net Forms轉過來的程序員造成不 少迷惑.這篇文章講述了為了使用DropDownLists,你需要在Asp.Net MVC中知道的方方面 面.
DropDownList,ComboBox,無論你喜歡怎麼稱呼這些,他們毫無例外的會被生成為html select標簽. 在<select>開標簽和</select>閉標簽之間,每一個列表元素都必 須被包裹於<option>標簽.當然你也可以使用<optgroup>標簽將各個選項按邏輯 上分成不同的組。如果針對<option>設置了value屬性,則 Value屬性就是在form提交 時select元素的值.而如果忘了給value屬性賦值,則在<option></option>標簽 內包裹的內容則是被提交的值。
為了簡便起見,這裡我先用一個靜態的列表作為例子,你可以將這些作為html直接加入到 你的View中:
<select name="year">
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>
<option>2014</option>
<option>2015</option>
</select>
或者,給列表加點小動態,假如需要列表的年份會隨著新年到來之際自動往後推1年:
<select name="year">
<option><%= DateTime.Now.Year %></option>
<option><%= DateTime.Now.AddYears(1).Year %></option>
<option><%= DateTime.Now.AddYears(2).Year %></option>
<option><%= DateTime.Now.AddYears(3).Year %></option>
<option><%= DateTime.Now.AddYears(4).Year %></option>
<option><%= DateTime.Now.AddYears(5).Year %></option>
</select>
甚至可以更簡便:
<select name="year">
<% for (var i = 0; i < 6; i++){%>
<option><%= DateTime.Now.AddYears(i).Year %></option>
<%}%>
</select>