asp.net 为什么我不能通过Blazor中的下拉列表将值绑定到我的属性?

vwoqyblh  于 2023-08-08  发布在  .NET
关注(0)|答案(2)|浏览(281)

我想绑定一个值到一个属性,我想通过我的下拉列表后。我的问题是,我不能使用@Bind-Value="@name”内的选择与选项。我得到这个错误消息RZ9991 The attribute names could not be inferred from bind attribute 'bind-value'. Bind attributes should be of the form 'Bind' or 'Bind-Value' along with their corresponding optional parameters like 'bind-value:event', 'bind:format' etc我试图只设置值,但我似乎我的值将绑定。还有谁知道我能用的东西吗?我可以让它在输入字段中使用@Bind-Value,但不能在下拉列表中使用。
我的下拉列表:

<div class="row">
        <div class="mb-1">
            <label class="form-label col-5 col-md-4 text-end">Numbers:</label>
            <select class="mr-2">
                @foreach (var item in number_list)
                {
                    <option @bind-value="@Numbers" size="15">@item.Numbers</option>

                    Number = item.Number.ToString();
                }
            </select>
        </div>
    </div>

字符串
我要绑定到的MyProperty

[Parameter] public string? Numbers{ get; set; }


值得注意的是,Number是我的列表中的一个浮点值,我在foreach number_list中循环遍历它

wgeznvg7

wgeznvg71#

事实上乔什已经搞定了
所选值的绑定必须在“select”标记中使用@bind属性,而后续选项的值则在“option”属性中使用“value”属性设置。
下面是整个代码:

<div class="row">
    <span> Selected value: @Numbers</span>
</div>
<div class="row">
    <div class="mb-1">
        <select class="mr-2" @bind="@Numbers">
            @foreach (var number in _numberList)
            {
                <option value="@number">@number</option>
            }
            <option></option>
        </select>
    </div>
</div>

@code {
    private float[] _numberList = new[] { 1.2f, 2.3f, 3.4f, 4.5f };

    [Parameter]
    public string Numbers { get; set; }

}

字符串

gblwokeq

gblwokeq2#

你的选择应该看起来像这样:当下拉索引更改时,它将更新@Numbers

<select class="mr-2" @bind="@Numbers">
            @foreach (var item in number_list)
            {
                <option value="@item" size="15">@item</option>                   
            }
</select>

字符串
我假设这是你想要的?

相关问题