2011-06-14 2 views
10

2 단계를 추가하기위한 약간의 사용자 지정을 통해 ootb ASP.NET2.0 MembershipProvider CreateUserWizard 컨트롤을 사용하고 싶습니다.CreateUserWizard - 단계를 추가하지만 모든 단계가 완료 될 때까지 사용자를 만들지 마십시오.

첫 번째 단계가 <asp:CreateUserWizardStep...>이고 내 두 번째가 <asp:WizardStep...> 인 경우 사용자는 실제로 첫 번째 단계에서 사용자가 클릭하여 두 번째 단계로 이동하기 전에 즉각적으로 만듭니다.

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server"> 
    <WizardSteps> 
     <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"> 
     </asp:CreateUserWizardStep> 
     <asp:WizardStep runat="server" Title="License Step"> 
     </asp:WizardStep> 
     <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> 
     </asp:CompleteWizardStep> 
    </WizardSteps> 
</asp:CreateUserWizard> 

모든 단계가 사용자를 작성하기 전에 완료 될 때까지 대기하는 제어에게 어쨌든 거기 : 여기

은 내가 사용하고있어 (매우) 기본 제어입니까?

답변

8

나는 동일한 문제가있었습니다.

Step 1. User Creation 

Step 2. License Step etc. 

당신은 CreateUserWizard 클래스를 오버라이드 (override)하지 않는 한 CreateUserWizardStep이 데이터가 항상 데이터베이스에 기록 될 것입니다 후 :

당신이 원하는 순서로 CreateUserWizard을 활용하는 다른 방법이없는 것 같다.

단계의 순서를 반대로 바꾸면 4GuysFromRolla 웹 사이트 (즉, 1 단계 라이센스 단계, 2 단계 ...)에서 Erich Peterson이 게시 한대로 작동해야합니다. 3 단계. 사용자 생성.

UPDATE :

내가 도울 수있는 관련 post 발견했습니다. 짧게 :

CreateUserWizard의 CreateUser 단계에서 사용자를 만들지 못하게하려면 CreatingUser 이벤트를 처리하고 LoginCancelEventArgs.Cancel 속성을 true로 설정하십시오.

예제 코드 :

protected void RegisterUser_CreatingUser(object sender, LoginCancelEventArgs e) 
{ 
e.Cancel = true; 
} 

그런 다음 NextButtonClick 이벤트를 처리 할 필요가 마법사의 다음 페이지로 이동하기 위해 :

  1. e.Cancel = False를 추가;
  2. 추가 CreateUserWizard.ActiveStepIndex = (다음 마법사 단계 인덱스);

그런 다음 사용자를 수동으로 생성해야합니다. 예 : FinishButtonClick 이벤트 처리기.

아직 시도하지는 않았지만 제대로 작동해야합니다. 도움이 되길 바랍니다.

+0

사실 저에게 의미가 있습니다! 결과적으로 vb1의 wbesite는 더 이상 다중 스톱 CreateUserWizard 컨트롤을 갖지 않으므로 잠시 동안이 방법을 시도하지 않을 것이지만 앞으로는 그렇게 할 것이라고 확신합니다. 나는 이것을 대답으로 표시 할 것이다. 비록 내가 직접 테스트하지는 않았지만, 논리는 소리 다. :) 건배! – QMKevin

+0

안녕하세요, 저는 이것이 오래된 글이라는 것을 알고 있습니다. 당신이 나를 도울 수 있습니까? 수동으로 하시니? 캡처 된 암호를 가져 오는 데 문제가 있습니다. – Crudler