2017-08-30 110 views
0

根據項目的Visual Studio 2017帳戶文件夾中的註冊代碼中的說明,使用來自賬戶確認和密碼恢復的帶有ASP.NET身份(C#)的指令。註冊Register.aspx.cs時未發送確認電子郵件

錯誤消息:

System.InvalidOperationException: '用戶ID未找到'

點它失敗: 在Register.aspx.cs

using System; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Identity.Owin; 
using Owin; 
using FHSF_5_DEV.Models; 
     : 
     : 
     : 

     protected void CreateUser_Click(object sender, EventArgs e) 
     { 
      var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); 
      var signInManager = Context.GetOwinContext().Get<ApplicationSignInManager>(); 
      var user = new ApplicationUser() { UserName = UserName.Text, Email = UserEmail.Text }; 
      IdentityResult result = manager.Create(user, Password.Text); 
      if (result.Succeeded) 
      { 
       string code = manager.GenerateEmailConfirmationToken(user.Id); 
       string callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Email, Request); 
     ==> manager.SendEmail(user.Email, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>.");** 

回答

0

的User.Email使用了User.ID.代替原始代碼假設電子郵件和用戶名/用戶名是相同的,就設置了認證碼。

相關問題