Javascript GetEnumSelectList覆盖默认的选定选项值

Javascript GetEnumSelectList覆盖默认的选定选项值,javascript,asp.net-core-mvc,html.dropdownlistfor,Javascript,Asp.net Core Mvc,Html.dropdownlistfor,我正在将EnumData加载到下拉列表中,但默认值被覆盖。当我将枚举的默认值更改为从1开始而不是从0开始时(因为它是默认值),此时会显示默认值,但如果枚举从0开始(默认值),则下拉列表中的默认选定值将覆盖第一个枚举选择 下面是我的代码: <div class="form-group row"> <label asp-for="Feature" class="col-md-4 control-label"&g

我正在将EnumData加载到下拉列表中,但默认值被覆盖。当我将枚举的默认值更改为从1开始而不是从0开始时(因为它是默认值),此时会显示默认值,但如果枚举从0开始(默认值),则下拉列表中的默认选定值将覆盖第一个枚举选择

下面是我的代码:

  <div class="form-group row">
    <label asp-for="Feature" class="col-md-4 control-label"></label>
    <div class="col-md-8">
      <select asp-for="Feature" asp-items="Html.GetEnumSelectList<Features.FeatureType>()">
        <option selected="selected" value="">Please select</option>
      </select>
     </div>
  </div>

请选择
当我在浏览器中打开developer tools时,看到两个下拉列表值selected属性分配给“selected”

请选择
功能0
特征1
专题2
专题3
如何克服这个问题?

您可以尝试两种方法:

1.删除select元素中标记辅助对象的
asp。手动添加其名称和id

  <select name="Feature" id="Feature" asp-items="Html.GetEnumSelectList<Features.FeatureType>()">
      <option selected="selected" value="">Please select</option>
  </select>

请选择
2.编写js设置所选选项:

<script>
    $("select").prop("selectedIndex", 0);
</script>

$(“select”).prop(“selectedIndex”,0);
<script>
    $("select").prop("selectedIndex", 0);
</script>