RAZOR-如何获得第一个SELECTED OPTION

RAZOR-如何获得第一个SELECTED OPTION

问题描述:

我目前正在研究RAZOR项目,并且我有这个动态的HTML SELECT选项。RAZOR-如何获得第一个SELECTED OPTION

var selected="selected"; 

<select name="Ctry" id="Ctry" required> 
      <option @if (item.p2kValue.ToString().IsEmpty() || item.p2kValue.ToString().Replace(" ", "") == "") 
          { @selected; }></option> 
    @foreach (var ritem in Model.RItems) 
     { 
      <option value="@ritem.ReasonCode" @if (ritem.ReasonCode.Contains(item.p2kValue.Replace(" ", ""))) 
                 { @selected; } > @ritem.ReasonDesc</option> 
     } 
</select> 

一切工作正常。存在现有数据时,可以将其设置为默认选定选项。但是我遇到麻烦的是当没有数据检索时,默认值应该是空白,这是第一个选项。但是我的代码得到最后一个选项。也许因为还有SELECTED属性,但它是有条件的。我试图把Blank选项放到最后一个apprently工作,但是SELECT中的REQUIRED属性不起作用。

所以为了让问题变得简单,当没有数据检索时,如何在其他选项中存在条件SELECTED属性时如何将空白选项(第一个选项)设置为默认值。

请帮忙。预先感谢您

对于HTML5中的下拉列表,您可以在select中添加属性标记,并且选项(表示为“No option selected”)必须具有空字符串作为值。

这样你可以强制用户在继续之前选择选项。