我正在使用C#和asp.net core 2.1开发Web应用程序。
我要实现的是根据条件动态设置所选选项并输出(isSelected)变量的值,这是我的代码
<select asp-for="SelectedLocation" class="form-control">
@foreach (var location in Model.Locations)
{
var isSelected = location.Number == Model.SelectedLocation ? "selected" : "";
<option value="@location.Number" data-latitude="@Location.Latitude" data-longitude="@location.Longitude">@location.Title</option>
}
</select>
答案 0 :(得分:3)
使用三元运算符
@(location.isSelected? "selected" : "")
您的代码如下所示:
<select asp-for="SelectedLocation" class="form-control">
@foreach (var location in Model.Locations)
{
var isSelected = location.Number == Model.SelectedLocation ? "selected" : "";
<option value="@location.Number" data-latitude="@Location.Latitude" data-longitude="@location.Longitude" @(location.isSelected? "selected" : "")>@location.Title</option>
}
</select>
它的作用是:如果isSelected
为true,它将添加一个selected属性,否则将不添加任何内容。
您也可以将其分解并按照常规if语句编写,但是我讨厌VS中的剃刀格式化,因此我会尽可能避免使用剃刀,因此三元建议也是如此。