Blazor InputSelect绑定到选项文本而不是Value

时间:2020-03-24 16:39:32

标签: blazor blazor-server-side

我在服务器端使用Blazor,我有这个:

<InputSelect class="form-control" id="sYear" @bind-Value="@SelectedYear">
    <option value="" selected="@(SelectedYear == "")">Year</option>
    @foreach (int i in Enumerable.Range(admin.GetYearOfGregorianDate(DateTime.Now) - 20, 21).Reverse())
    {
        <option value="@i" selected="@(SelectedYear == i.ToString())">@i.ToString()</option>
    }
</InputSelect>

可以看到,第一个选项的值是空的,我期望当我选择第一个选项时,绑定值将变成空字符串不是字符串“ Year”,而是SelectedYear设置为“ Year”! 该如何解决?

1 个答案:

答案 0 :(得分:0)

仅删除所选标签? 您为什么要使用所选标​​签? 默认情况下,SelectedYear的值绑定到选项值。

<InputSelect class="form-control" id="sYear" @bind-Value="@SelectedYear">
    <option value="">Year</option>
    @foreach (int i in Enumerable.Range(admin.GetYearOfGregorianDate(DateTime.Now) - 20, 21).Reverse())
    {
        <option value="@i">@i.ToString()</option>
    }
</InputSelect>