2012-03-03 36 views
1

在MVC 1 ASPX视图我使用foreach循环增加对国家的下拉列表,按字母顺序排序设置里面选择的选项:如何在默认情况下在下拉列表中通过foreach循环的ASPX视图

<div class="row"> 
    <label>Country</label> 
    <select name="registration-country" id="registration-country"> 
     <%foreach (var country in countryList) { %> 
     <option value ="<%=country.CountryGUID %>" ><%= country.CountryName %></option> 
     <% } %> 
    </select> 
</div> 

我能想到的唯一的办法是:

<div class="row"> 
    <label>Country</label> 
    <select name="registration-country" id="registration-country"> 
     <%foreach (var country in countryList) { %> 
     <option value ="<%=country.CountryGUID %>" se><%= country.CountryName %></option> 
     <% } %> 
     <option selected="selected" value="79118727-F7AC-4E38-BB7D-DC31A66E111F">United Kingdom</option>--%> 
    </select> 
</div> 

但是,这只是增加了另一种选择,在结束时,我总是可以在列表中删除英国入境,但仍然会毁了排序。

我一直在试图插入if语句,但我无法弄清楚,所以我将不胜感激任何抬头。

谢谢!

回答

0

你可以有在foreach环任选使基于该项目是否被选中或未被两个option元素之一的if声明。

只有在选择该选项时,您才可以有条件地呈现selected属性,这可能会使代码的可读性降低一些,但重复次数会受到限制。

最后,我可能要做的是创建一个帮助器来呈现选项,并且如果选择应该包含或不包含,那么您可以传递一个标志给它,那么你的循环将只是用正确的方式调用帮助器取决于是否应该选择参数。