Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过aspx视图中的foreach循环在下拉列表中默认设置选定选项_C#_Asp.net_Drop Down Menu - Fatal编程技术网

C# 如何通过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

在mvc 1 aspx视图中,我添加了一个国家的下拉列表,使用foreach循环按字母顺序排序:

<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
属性,这可能会降低代码的可读性,但复制会受到限制

最后,我可能要做的是创建一个帮助器来呈现选项,如果选择的选项应该包含或不包含,您可以向它传递一个标志,那么您的循环将根据是否应该选择来调用具有正确参数的帮助器