C# 如何通过aspx视图中的foreach循环在下拉列表中默认设置选定选项
在mvc 1 aspx视图中,我添加了一个国家的下拉列表,使用foreach循环按字母顺序排序:C# 如何通过aspx视图中的foreach循环在下拉列表中默认设置选定选项,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,在mvc 1 aspx视图中,我添加了一个国家的下拉列表,使用foreach循环按字母顺序排序: <div class="row"> <label>Country</label> <select name="registration-country" id="registration-country"> <%foreach (var country in countryList) { %> &l
<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>
国家
英国--%>
但这只是在最后添加了另一个选项,我总是可以删除列表中的UK条目,但仍然会破坏排序
我一直在尝试在里面插入一个if语句,但我想不出来,所以我希望大家能提醒我一下
谢谢 您可以在
foreach
循环中有一个if
语句,该语句可以根据项目是否被选中,选择性地呈现两个选项
元素之一
您还可以仅在选中该选项的情况下有条件地呈现selected
属性,这可能会降低代码的可读性,但复制会受到限制
最后,我可能要做的是创建一个帮助器来呈现选项,如果选择的选项应该包含或不包含,您可以向它传递一个标志,那么您的循环将根据是否应该选择来调用具有正确参数的帮助器