【问题标题】:C# Blazor button click returns HTTP error 400C# Blazor 按钮单击返回 HTTP 错误 400
【发布时间】:2021-11-01 17:41:12
【问题描述】:

当我单击按钮时,我收到以下错误此页面无法正常工作如果问题仍然存在,请联系网站所有者。

请给点建议?

我希望按钮执行功能并保持在同一页面上。

HTTP 错误 400

登录.razor.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace W3SHARE_Interface.Pages.Authentication
{
    public partial class Login
    {
        private void LoginBTN()
        {

        }
        
    }
}

登录.razor

@page "/"

    <body>
        <div id="login">
            <h3 class="text-center text-white pt-5">Login form</h3>
            <div class="container">
                <div id="login-row" class="row justify-content-center align-items-center">
                    <div id="login-column" class="col-md-6">
                        <div id="login-box" class="col-md-12">
                            <form id="login-form" class="form" action="" method="post">

                                <h3 class="text-center text-info">Login</h3>

                                <div class="form-group">
                                    <label for="email" class="text-info">Email:</label><br>
                                    <input type="text" name="email" id="email" class="form-control">
                                </div>

                                <div class="form-group">
                                    <label for="password" class="text-info">Password:</label><br>
                                    <input type="text" name="password" id="password" class="form-control">
                                </div>

                                <div class="form-group">
                                    <label for="remember-me" class="text-info"><span>Remember me</span> <span><input id="remember-me" name="remember-me" type="checkbox"></span></label><br>
                                    <input name="submit" class="btn btn-info btn-md" value="Login" type="submit" @onclick="LoginBTN">
                                </div>

                                <div id="register-link" class="text-right">
                                    <a href="/Register" class="text-info">Register here</a>
                                </div>

                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </body>


【问题讨论】:

  • 登录后为什么要留在同一页面上?为什么登录方法是空的?
  • 您构建了一个经典的 Html 表单,而不是 Blazor 表单。单击提交会导致提交表单,即页面帖子。那不是 Blazor。您需要进一步了解 Blazor 的工作原理。这是初学者的 MSDocs 链接 - docs.microsoft.com/en-us/aspnet/core/blazor/…

标签: c# blazor


【解决方案1】:

是不是因为你的表单有一个空的 action 属性?还是因为您的 loginbtn 方法是私有的?还是因为您正在向没有任何参数的方法发送数据?

或许将日志级别提高到verbose,听起来也像是模型验证问题

【讨论】:

    【解决方案2】:

    我认为这是因为您使用的输入类型 SUBMIT 未在任何处理的地方发布。尝试替换您的standard form with EditForm.

    【讨论】:

    • 更新表格工作 TY
    • @janco 然后点赞我的回答
    • 您需要至少 15 个声望才能投票,但您的反馈已被记录。
    • @janco ok TY ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多