代码之家  ›  专栏  ›  技术社区  ›  sibeyzoran

如何让blazor的onclick活动发挥作用?

  •  0
  • sibeyzoran  · 技术社区  · 2 年前

    我有一个非常简单的登录页面设置,但由于某种原因,onclick没有运行它应该运行的测试方法。它没有返回任何警告或错误,但仍然没有打印到控制台。代码如下:

    @page "/logon"
    <div class="container">
    <div class="login-box">
        <!-- Image -->
        <img src="/Images/welcome2s2ix.png" alt="Login Image" class="login-image" />
    
        <!-- Login Form -->
        <form>
            <div class="form-group row">
                <div class="col-sm-12">
                    <label for="username">Username</label>
                </div>
                <div class="col-sm-12">
                    <input type="text" id="username" class="form-control" placeholder="Enter your username" />
                </div>
            </div>
    
            <div class="form-group row">
                <div class="col-sm-12">
                    <label for="password">Password</label>
                </div>
                <div class="col-sm-12">
                    <input type="password" id="password" class="form-control" placeholder="Enter your password" />
                </div>
            </div>
    
            <div class="form-group row">
                <div class="col-sm-12">
                    <label for="logonTo" class="col-sm-2 col-form-label">Database</label>
                </div>
                <div class="col-sm-10">
                    <select id="logonTo" class="form-control">
                        <option value="local">Local</option>
                    </select>
                </div>
            </div>
    
            <div class="form-group row">
                <div class="col-sm-12">
                    <button type="submit" @onclick="test" class="btn btn-primary">Login</button>
                </div>
            </div>
        </form>
    </div>
    
    @code {
    public void test()
    {
        Console.WriteLine("Test");
    
    }
    

    我检查了一大堆页面,上面写着要检查你的_Imports.razor,但它们看起来也不错。。。不确定这里发生了什么。

    1 回复  |  直到 2 年前
        1
  •  2
  •   Brian Parker    2 年前

    您正在使用的按钮 type="submit 这就提交了表格。 如果你想处理表格内容,我会更改 form EditForm 因为它将拦截表单张贴。然后将方法调用移动到 编辑窗体 OnValidSubmit OnSubmit .请阅读 编辑窗体 及其同级组件 InputText , InputCheckbox 等等。

    如果您更改 <Button type="button" 您的代码应该执行,但表单不会提交。