2011-01-05 112 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