【发布时间】:2021-11-16 05:33:09
【问题描述】:
我正在使用 Blazor 服务器端订阅时事通讯。当我按下订阅按钮时,我看到系统没有将 EmailAddress 绑定到用户输入的电子邮件地址。我错过了什么?
@inherits InstaTranscribeServerSide.Layouts.SubscribeToNewsletterComponent
<div class="container">
<form class="mt-4">
<input type="email" name="email" placeholder="Enter your email address" text="@EmailAddress">
<button type="button" @onclick="SubscribeToNewsletterClick">
</button>
</form>
</div>
public class SubscribeToNewsletterComponent : InstaTranscribeComponentBase
{
[Inject] protected ILogger<SubscribeToNewsletter> logger { get; set; }
protected string EmailAddress { get; set; } = string.Empty;
protected async Task SubscribeToNewsletterClick()
{
try
{
await this.EmailSender.AddUpdateContactAsync(EmailAddress);
await JSRuntime.NotifySuccess($"You have been subscribed to our newsletter.");
}
catch (Exception exception)
{
await JSRuntime.NotifyError($"There was an error subscribing you to our newsletter.");
}
}
protected override async Task OnInitializedAsync()
{
}
}
显示电子邮件地址为空白的屏幕截图:
屏幕截图显示用户输入的电子邮件地址:
【问题讨论】:
标签: c# asp.net-core blazor blazor-server-side