创建用户前调用方法

Call method before creating user

当您在 ASP.NET 标准 CreateUserQizard 中按 "Create user" 时,会调用 OnCreatedUser 并在创建用户后重定向您。但是我需要 运行 一些代码 创建用户之前但在单击 "Create user" 按钮之后。

像这样:点击"Create user"->运行我的方法->创建用户->OnCreatedUser

我已经创建了自己的方法来检查电子邮件是否已经存在,但是我不知道如何调用它,因为向导会立即创建用户。有没有办法在创建用户之前进入并执行我的代码?

我的代码:

TextBox EmailTextBox = RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("Email") as TextBox;
String emailParam = EmailTextBox.Text;

using (SqlConnection con = new SqlConnection(strCon))
    {
       con.Open();
       using (SqlCommand cmd = con.CreateCommand())
          {
            cmd.CommandText = "SELECT Email FROM Memberships WHERE Email=@emailParam";
            cmd.Parameters.AddWithValue("@emailParam", emailParam);

             using (SqlDataReader reader = cmd.ExecuteReader())
                {
                            if (reader.Read())
                            {
                                LabelExists.Text = "This e-mail is already registered";
                            }
                            else
                            {
                                //execute method that creates user
                            }

                }
             }
        con.Close();
   }

只需使用 OnCreatingUser,如果电子邮件已经注册,则设置 e.Cancel = true;

如果您为会员提供程序设置 requiresUniqueEmail="true",它会为您进行检查。