0

客户在我的应用程序中注册为用户后,他们将被发送到登录页面。当他们登录时,我有一条消息告诉他们确认他们的电子邮件。目前,当我单击它时,它会转到 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")    
4

1 回答 1

0

该方法的范围必须就像public您想从控制器外部访问它一样,例如通过 View 或 html 链接。

您需要将方法/操作参数作为链接的一部分传递。没有参数,它将尝试解析为不存在不存在参数的操作(方法)。

@Html.ActionLink("click here", "SendEmailConfirmationTokenAsync", "Account", new {userID = "123", subject = "Welcome or something like this"}, null)

另请参阅actionlink 上的文档

于 2017-04-20T14:02:22.170 回答