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 方法中设置的断点处停止。我有点困惑为什么这种情况从未发生过。
你能解开这个谜吗?
小智 5
您必须添加具有以下“usings”的“_ViewImports.cshtml”文件
@using Microsoft.AspNetCore.Identity @addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers
然后将您将在这些页面上使用的命名空间添加到此文件中
| 归档时间: |
|
| 查看次数: |
4996 次 |
| 最近记录: |