2010-10-19 3 views
0

Compte tenu de ma page d'inscription:ASP.net utilisateur redirect à condition

  <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> 
       <ContentTemplate> 

        <span class="defHead">Thank You!</span><br /><br /> 
        You are now registered on our system.<br /><br /> 

       </ContentTemplate> 
      </asp:CompleteWizardStep> 

    </WizardSteps> 

<CreateUserButtonStyle CssClass="searchBtn" Width="120" Height="26" /> 
<ContinueButtonStyle CssClass="searchBtn" Width="120" Height="26" /> 

Je veux rediriger l'utilisateur si une condition est remplie, et ils sont à l'étape précédente. J'ai essayé:

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (CompleteWizardStep1.Visible) 
      { 
       Response.Redirect("viewBasket.aspx?action=news"); 
      } 

Mais sans chance! Je n'arrive pas à trouver quelque chose.

+1

Que se passe-t-il réellement? Avez-vous essayé de placer un point d'arrêt sur Response.Redirect? –

+0

Question mise à jour, a pris la condition facultative pour éliminer la confusion. Comme le code ci-dessus, il affiche simplement le remerciement! étape et ne redirige pas du tout. –

Répondre

1

Je l'ai trouvé sur :)

Sur votre créer un contrôle de l'assistant utilisateur ajouter une référence à une fonction OnCreatedUser:

<asp:CreateUserWizard 
     id="CreateUserWizard1" 
     Runat="server" 
     OnCreatedUser="CreatedUser" 

Définissez ensuite dans votre code la fonctionnalité que vous souhaitez exécuter:

protected void CreatedUser(object sender, EventArgs e) 
    { 
     Response.Redirect("viewBasket.aspx?action=news"); 
    } 

Notez que cela empêchera l'utilisateur d'être connecté à son compte. Pour que l'utilisateur reste connecté:

protected void CreatedUser(object sender, EventArgs e) 
     { 
       TextBox userNameTextBox = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName"); 
       MembershipUser user = Membership.GetUser(userNameTextBox.Text); 
       FormsAuthentication.SetAuthCookie(userNameTextBox.Text, false); 
       Response.Redirect("viewBasket.aspx?action=news"); 
     }