【问题标题】:Blazor InputSelect binds to option text instead of ValueBlazor InputSelect 绑定到选项文本而不是值
【发布时间】:2020-07-05 04:59:37
【问题描述】:

我使用 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”! 如何解决这个问题?

【问题讨论】:

    标签: blazor blazor-server-side


    【解决方案1】:

    只是删除选定的标签? 为什么要使用选定标签? SelectedYear 的值默认绑定到 option-value。

    <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>
    

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多