Blazor InputSelect 绑定到选项文本而不是值
Blazor InputSelect binds to option text instead of Value
我使用 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"!
如何解决这个问题?
只删除所选标签?
为什么要使用 selected-tag?
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>
我使用 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"! 如何解决这个问题?
只删除所选标签? 为什么要使用 selected-tag? 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>