OnPostAsync 未调用

d00*_*00d 1 asp.net-core blazor-server-side

我尝试在 Blazor 服务器端应用程序中实现电子邮件发送器。我正在遵循这个例子:

https://kenhaggerty.com/articles/article/aspnet-core-22-smtp-emailsender-implementation

我有Home.cshtml视图

@page "/Home"
@model UserManagement.HomeModel
@{
    ViewData["Title"] = "Home";

}

<div class="row">
    <div class="col-6">
        <label class="alert alert-success">@Model.EmailStatusMessage</label>
    </div>
</div>
<div class="row">
    <div class="col-6">
        <form method="post">
            <div class="form-group">
                <label asp-for="Email"></label>
                <input asp-for="Email" class="form-control" />
                <span asp-validation-for="Email" class="text-danger"></span>
            </div>
            <button type="submit" class="btn btn-primary">Email Test</button>
        </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Home.cshtml.cs

 public class HomeModel : PageModel
    {
        private readonly IEmailSender _emailSender;

        public HomeModel(IEmailSender emailSender)
        {
            _emailSender = emailSender;
        }

        public string EmailStatusMessage { get; set; }

        [Required]
        [BindProperty]
        public string Email { get; set; }

        public void OnGet()
        {
        }

        public async Task OnPostAsync()
        {
            if (!ModelState.IsValid)
            {

            }

            var email = Email;

            var subject = "Email Test";

            var message = "This is a test message.";

            await _emailSender.SendEmailAsync(email, subject, message);

            EmailStatusMessage = "Send test email was successful.";


        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我点击按钮时,我收到 400 错误,并且调试器永远不会在我在 OnPostAsync 方法中设置的断点处停止。我有点困惑为什么这种情况从未发生过。

你能解开这个谜吗?