客户在我的应用程序中注册为用户后,会将其发送到登录页面。当他们登录时,我有一条消息告诉他们确认他们的电子邮件。目前,当我点击它时,它会转到404.这是我的发送电子邮件确认令牌方法:
private async Task<string> SendEmailConfirmationTokenAsync(string userID, string subject)
{
string code = await UserManager.GenerateEmailConfirmationTokenAsync(userID);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = userID, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(userID, subject, "Please confirm your account by <a href=\"" + callbackUrl + "\">clicking here</a>");
return callbackUrl;
}
以下是我在视图中的链接
@Html.ActionLink("click here", "SendEmailConfirmationTokenAsync", "Account")
答案 0 :(得分:0)
如果您想通过View或html链接从控制器外部访问该方法,则该方法的范围必须为public
。
您需要将方法/操作参数作为链接的一部分传递。如果没有参数,它将尝试解析一个没有不存在的参数的动作(方法)。
@Html.ActionLink("click here", "SendEmailConfirmationTokenAsync", "Account", new {userID = "123", subject = "Welcome or something like this"}, null)