选择选项下拉列表中不显示所选选项

时间:2019-03-29 22:30:24

标签: c# html blazor

我有一个Blazor应用程序,该应用程序使用来自数据库的数据填充6个select选项下拉列表。其中的三个用字符串列表中的日期和时间填充。

当我选择日期和时间时,它不会显示在下拉框中。选择日期时间后,下拉列表为空白,但实际上已选择了该值,并且绑定有效。它只是不显示。

如果我删除“ bind = @ ...”,它将正确显示。 其他人有没有遇到过,您如何解决?

<select bind="@Innput.Klokkeslett1">
                        <option value="@(0)">Tid1</option>
                        @foreach (var tid1 in tidListe)
                        {
                            <option value="@tid1">@tid1</option>
                        }
                    </select>

2 个答案:

答案 0 :(得分:2)

需要注意的两件事,select使用字符串值,并且该值必须与option值匹配。 因此,如果您的字段Innput.Klokkeslett1是DateTime,则需要使用一个属性来处理字符串和DateTime之间的绑定/转换。 如果您确保为option值使用显式日期格式,并且您的属性以相同的日期格式返回其值,那么select将能够将其value与其中的{{ 1}} option并显示相应的文本,可以按照自己喜欢的任何方式对其进行格式化。

values

答案 1 :(得分:1)

<select onchange="@ComboSelectionChanged">
        <option value="0" selected>
            @list[0]
        </option>
        @for (int i = 1; i < list.Count; i++)
        {
            <option value="@i">
                @list[i]
            </option>
        }
    </select>    

public void ComboSelectionChanged(UIChangeEventArgs e)
    {
        if (int.TryParse(e.Value.ToString(), out int index))
        {
            SelectedStyleIndex = index
             //now you know which one is selected

        }
    }