在 Razor 视图中默认不选择下拉项
Drop down item not being selected by default in Razor view
我在 C# 的 MVC 的 Razor 视图中编写了以下代码。我想 select 基于价值的项目之一,但它不起作用。我确认变量 Facilities
包含值 Un-Funded
但它不包含 select 此项。
<select id="facilities" class="form-control" style="width:200px;">
<option @{ if (Facilities == "Funded") { Response.Write(" selected "); } }>Funded</option>
<option @{ if (Facilities == "Un-Funded") { Response.Write(" selected "); } }>Un-Funded</option>
</select>
这是 HTML 的截图。请注意,它不会为任何选项打印 selected
。
对于 MVC 5,您可以使用此方法@:
插入您选择的:
<select id="facilities" class="form-control" style="width:200px;">
<option value="Funded" @{ if (Facilities == "Funded") { @: selected="selected"
}}>
Funded
</option>
<option value="Un-Funded" @{ if (Facilities == "Un-Funded") { @: selected="selected"
}}>
Un-Funded
</option>
</select>
对于旧版本,您可以查看此 link:
setting-the-selected-option-in-mvc3
我正在使用 Response.Write
,它在 Razor 视图中不起作用。使用 @Html.Raw("some string")
解决了这个问题。所以代码将如下所示:
@{ if(Facilities == "Funded") { @Html.Raw("selected='selected'") } }
你可以尝试使用js,这样如果你有很多选项,你就不需要检查每个选项:
<select id="facilities" class="form-control" style="width:200px;">
<option value="Funded">Funded</option>
<option value="Un-Funded">Un-Funded</option>
</select>
<script>
$(function () {
$("#facilities").val("@Facilities");
//Or you can use $("#facilities").val(@Html.Raw(Json.Encode(Facilities)));
})
</script>
我在 C# 的 MVC 的 Razor 视图中编写了以下代码。我想 select 基于价值的项目之一,但它不起作用。我确认变量 Facilities
包含值 Un-Funded
但它不包含 select 此项。
<select id="facilities" class="form-control" style="width:200px;">
<option @{ if (Facilities == "Funded") { Response.Write(" selected "); } }>Funded</option>
<option @{ if (Facilities == "Un-Funded") { Response.Write(" selected "); } }>Un-Funded</option>
</select>
这是 HTML 的截图。请注意,它不会为任何选项打印 selected
。
对于 MVC 5,您可以使用此方法@:
插入您选择的:
<select id="facilities" class="form-control" style="width:200px;">
<option value="Funded" @{ if (Facilities == "Funded") { @: selected="selected"
}}>
Funded
</option>
<option value="Un-Funded" @{ if (Facilities == "Un-Funded") { @: selected="selected"
}}>
Un-Funded
</option>
</select>
对于旧版本,您可以查看此 link: setting-the-selected-option-in-mvc3
我正在使用 Response.Write
,它在 Razor 视图中不起作用。使用 @Html.Raw("some string")
解决了这个问题。所以代码将如下所示:
@{ if(Facilities == "Funded") { @Html.Raw("selected='selected'") } }
你可以尝试使用js,这样如果你有很多选项,你就不需要检查每个选项:
<select id="facilities" class="form-control" style="width:200px;">
<option value="Funded">Funded</option>
<option value="Un-Funded">Un-Funded</option>
</select>
<script>
$(function () {
$("#facilities").val("@Facilities");
//Or you can use $("#facilities").val(@Html.Raw(Json.Encode(Facilities)));
})
</script>