在 ASP.NET Core 2.1 中设置所选选项
Set selected option in ASP.NET Core 2.1
我正在使用具有 asp.net 核心 2.1 的 C# 开发 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>
使用三元运算符
@(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
为真,它将添加一个 selected 属性,否则它什么都不添加。
你也可以把它分解并写成一个普通的 if 语句,但是我讨厌 VS 中的剃刀格式,所以我尽可能地避免使用剃刀,因此我提出了三元建议。
我正在使用具有 asp.net 核心 2.1 的 C# 开发 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>
使用三元运算符
@(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
为真,它将添加一个 selected 属性,否则它什么都不添加。
你也可以把它分解并写成一个普通的 if 语句,但是我讨厌 VS 中的剃刀格式,所以我尽可能地避免使用剃刀,因此我提出了三元建议。