2010-02-25 3 views
1

asp:CreateUserWizard 컨트롤의 OnCreatingUser 이벤트에서 프로그래밍 방식으로 asp:CompleteWizardStep 단계로 전환합니까?CreateUserWizard 컨트롤에서 CompleteWizardStep으로 프로그래밍 방식으로 전환

ASP.NET 웹 양식

<asp:CreateUserWizard ID="MyCreateUserWizard" runat="server" OnCreatingUser="MyCreateUserWizard_CreatingUser"> 
    <WizardSteps> 
     <asp:CreateUserWizardStep ID="CreateUserStep1" runat="server"> 
      <!-- code here --> 
     </asp:CreateUserWizardStep> 
     <asp:CompleteWizardStep ID="CompleteWizardStep" runat="server"> 
      <!-- code here --> 
     </asp:CompleteWizardStep> 
    </WizardSteps> 
</asp:CreatedWizardStep> 

코드

protected void MyCreateUserWizard_CreatingUser(object sender, EventArgs e) 
{ 
    //retrieve username, password and email 

    Membership.CreateUser(username, password, email); 

    //would like to display the CompleteWizardStpe here 

} 
+0

, 왜 수동으로 crea입니까? 사용자가 컨트롤을 대신 할 수 있도록 허용하는 것이 좋습니다. – Greg

+0

@Greg - Usename과 전자 메일 컨트롤이 사용자의 입력으로 채워진 asp : CreateUserWizardStep 뷰로 이동합니다. 'asp : CompleteWizardStep' 뷰를 전혀 표시하지 않습니다. 프로그래밍 방식으로 'Membership.CreateUser' 메소드를 호출하지 않더라도. –

+0

@ 그렉 -'OnCreatingUser' 이벤트를 제거하면 잘 작동합니다. –

답변

0
protected void CreateUserWizard1_CreatingUser(object sender, LoginCancelEventArgs e) 
{ 
    CreateUserWizard1.MoveTo(CompleteWizardStep1); 
} 
+0

@Sky Sanders - 'MoveTo'를 호출해도 문제가 해결되지 않았습니다. –

+0

컨트롤의 기본 제공 기능을 완전히 무시하려면 e.Cancel = true;를 설정 한 다음 MoveTo를 설정하십시오. 컨트롤이 더 이상 사용자를 만들지 않거나 이메일을 보내지 않습니다. – Greg

+0

@Greg - 작동하지 않았습니다. 나는'e' 객체를 사용하여'LoginCancelEventArgs' 객체에 지역 변수를 던져 넣었고 asp : CompleteWizardStep 컨트롤을 표시하지 않았습니다. –

0

뒤에 난 그냥 빈 OnCreatingUser 이벤트 핸들러를 사용하여 VS2008/.NET 3.5 솔루션을 다시 그리고 "에 작동 내 컴퓨터". 그래서이 문제를 일으킬 수있는 다른 점은 무엇입니까?

영문 : 코드 숨김

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" 
    Trace="false" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<body> 
    <form id="form1" runat="server"> 
    <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" OnCreatingUser="CreateUserWizard1_CreatingUser"> 
     <WizardSteps> 
      <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"> 
      </asp:CreateUserWizardStep> 
      <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> 
      </asp:CompleteWizardStep> 
     </WizardSteps> 
    </asp:CreateUserWizard> 
    </form> 
</body> 
</html> 

:

namespace WebApplication1 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void CreateUserWizard1_CreatingUser(object sender, System.Web.UI.WebControls.LoginCancelEventArgs e) 
     { 
     } 
    } 
} 

의 Web.config : 비디오 그것의

<authentication mode="Forms" /> 

작업 : 대신 할 무엇 http://www.screentoaster.com/watch/stWEJSR0ZIR19YRVleWV9QXlJX

+0

@ 그렉 - 비디오가 내 WebSense에 의해 차단되어서 볼 수 없습니다. 내가 집에 갈 때 나는 그것을 볼 것이다. –

+0

@Greg - 웹 응용 프로그램 프로젝트 모델 대신 웹 사이트 프로젝트 모델을 사용하고 있습니다. 이것은 변화를 가져서는 안됩니다. –

+0

WebSense의 개발자는 범죄입니다. :( – Greg