+-
Blazor InputSelect绑定到选项文本,而不是值

我在服务器端使用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”!该如何解决?

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>