2011-01-05 114 views
0

我們可以設置一個id屬性,因爲我會爲通過類似的表列:HTML「ID」從HTML幫助取得了下拉菜單項屬性

所創建的HTML下拉列表元素與助手如:

<% for (int i = 0; i < Model.Trx.TransactionHolidayCityCollection.Count; i++) 
{%> 
    <%= i > 0 ? "," : "" %> 
    <%= DropDownData.HolidayDays().ToList().Find(item => item.Value == Model.Trx.TransactionHolidayCityCollection[i].HolidayCityID.Value.ToString()).Text %> 
<%} %> 

回答

0

你並不需要一個幫手,一定是:

<select id="holidayCities" name="holidayCities"> 
<% foreach (HolidayCity city in Model.Trx.TransactionHolidayCityCollection) { %> 
    <option 
     value="<%=city.HolidayCityID.Value %>" 
     id="holidayCity_<%=city.HolidayCityID.Value %>" 
    ><%=city.Name %></option> 
<% } %> 
</select> 

如果你想使用的HtmlHelper你可以寫:

<%=Html.DropDownList("holidayCities", Model.HolidayCitiesSelectList) %> 

Model.HolidayCitiesSelectList應該是類型IEnumerable<SelectListItem>


的這種類型的定製是不繳費的內置的助手,所以你可能最終會創建自己的Html.DropDownList輔助方法。

http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlistitem(v=vs.98).aspx

+0

這爲整個選擇列表提供了一個id。我們已經有了。我們希望列表中的每個元素都有一個。如果你沒有幫助者就可以做到這一點,但是通過幫助者,我們不會給每個選擇列表項標籤賦予HTML標記訪問權限。 – slandau 2011-01-05 18:35:48

+0

爲什麼你需要通過Id引用'

+0

用於自動UI測試。 – slandau 2011-01-05 18:38:35