小编Pau*_*der的帖子

Blazor 复选框绑定不起作用 - 服务器端

TLDR; 这就像字符串/文本框绑定在输入控件上工作得很好,但由布尔属性支持的复选框绑定不起作用。我知道复选框值的绑定需要使用 'checked' 属性而不是 'value' 属性,但 Blazor 应该跨不同的控件类型处理它。

我正在用 RC1 做一些 Blazor 工作(服务器端应用程序),但似乎无法将布尔值绑定到输入复选框控件。我相信所使用的语法是正确的(见下文)。作为一个简单的测试,我创建了一个新项目,并简单地用下面的示例代码替换了 index.razor 页面。运行时注意:

  1. 文本框输入控件的“测试值”初始化得很好。
  2. 复选框的初始值为真,但未选中复选框。
  3. 更改文本框输入控件的文本,然后更改控件焦点。请注意,在 Visual Studio 的“输出”选项卡的“调试”窗口中打印了一条消息(预期行为)
  4. 更改复选框输入控件的值(选中或取消选中),然后更改控件焦点。请注意,Visual Studio 的“输出”选项卡中的“调试”窗口中没有显示任何消息(非预期行为)。

初始页面加载显示测试字符串值但未选中复选框

@page "/"

<div class="form-group">
    <label for="last-name">Textbox Binding Test</label>
    <input @bind="TestString" type="text" class="form-control" id="last-name" placeholder="Enter Last Name" />
</div>
<div class="form-group">
    <label for="send-email-updates">Checkbox Binding Test</label>
    <input type="checkbox" bind="@TestBool" id="send-email-updates" />
</div>

@code {
    private bool _testBool = true;
    protected bool TestBool
    {
        get { return _testBool; }
        set
        {
            _testBool = value;
            System.Diagnostics.Debug.WriteLine($"Value of {nameof(TestBool)} = {value}"); …
Run Code Online (Sandbox Code Playgroud)

asp.net-core blazor blazor-server-side

4
推荐指数
1
解决办法
7655
查看次数

标签 统计

asp.net-core ×1

blazor ×1

blazor-server-side ×1