我正在使用 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>
最佳答案
使用三元运算符
@(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 中的 Razor 格式,因此我尽可能避免使用 Razor ,因此建议使用三元组。
关于c# - 在 ASP.NET Core 2.1 中设置选定的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51952327/