在ASP.NET Core 2.1中设置选定的选项

时间:2018-08-21 15:44:34

标签: c# .net asp.net-core .net-core asp.net-core-2.1

我正在使用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>

1 个答案:

答案 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中的剃刀格式化,因此我会尽可能避免使用剃刀,因此三元建议也是如此。