他社のユーザーが当社に直接注文できるサイトを開発中です。私はすでにユーザーの役割を割り当てており、登録時のいくつかの選択に基づいてプログラムで割り当てています。CreateUserWizardフォームを使用するページを追加し、顧客からさらに情報を収集するための手順を追加しました(具体的には、会社名なので、注文できる部品がわかります)。問題は、誰かが最初の登録プロセスに入力して[ユーザーの作成]をクリックすると、そこでユーザーが作成され、会社情報を収集する次のステップにユーザーを誘導することです。ユーザーがプロセスを中止した場合でも、ユーザーアカウントは作成され、ユーザーグループには割り当てられません。CreateUserWizardの最後のページ(ステップ)には、2番目のステップからのいくつかの選択に基づいてユーザーグループに割り当てる終了ボタンがあります。登録プロセスが実際に完了するまで、ユーザーが追加されないようにするにはどうすればよいですか?これが私がこれまで舞台裏で持っているコードです。
protected void RegisterUser_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
if (companyddl.SelectedValue == ""){
errorlbl.Text = "Please Select A Company You Will Be Ordering Parts From.";
MembershipCreateStatus createStatus = new MembershipCreateStatus();
MembershipUser newUser = System.Web.Security.Membership.CreateUser(RegisterUser.UserName, RegisterUser.Password, RegisterUser.Email,
RegisterUser.Question, RegisterUser.Answer, true, out createStatus);
if (companyddl.SelectedValue == "SF")
Roles.AddUserToRole(RegisterUser.UserName, "user_sf");
if (companyddl.SelectedValue == "TL")
Roles.AddUserToRole(RegisterUser.UserName, "user_tl");
if (companyddl.SelectedValue == "" && companytxt.Text != "OurCompany")
Roles.AddUserToRole(RegisterUser.UserName, "user");
if ((companytxt.Text == "OurCompany" || companytxt.Text == "OurCompany, Inc.") && companyddl.SelectedValue == "")
Roles.AddUserToRole(RegisterUser.UserName, "manager");
}
}