IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Redéfinition du controle CreateUserwizard


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Redéfinition du controle CreateUserwizard
    Salut

    Je sèche sur la manipulation du controle CreateUserWizard. Je tente de le personaliser mais j'ai quelques souci sur l'utilisation du Template.
    En fait, je voudrais pouvoir manipuler certaine chose sans pour autant tout reprogrammer. Je me demande si c'est vraiment possible.

    Je vais faire une exposé le plus clair possible de mon état d'avancement.

    Donc, j'ai mis un CreateUserWiazrd de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" Width="400">
    	<WizardSteps>				
    		<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
    		<ContentTemplate>
    			<asp:Label ID="UserNameLabel" runat="server"></asp:Label>
    			<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
    			<asp:TextBox ID="Email" runat="server"></asp:TextBox>
    			<asp:TextBox ID="Question" runat="server"></asp:TextBox>
    			<asp:TextBox ID="Answer" runat="server"></asp:TextBox>
    			<asp:TextBox ID="Password" runat="server"></asp:TextBox>
    		</ContentTemplate>
    	</asp:CreateUserWizardStep>
    	<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"></asp:CompleteWizardStep>
    	</WizardSteps>
    </asp:CreateUserWizard>
    Ensuite je fais ça dans le CodeBehind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    		If Membership.Provider.ApplicationName = "/" Then
    			OW = "/"
    		Else
    			OW = Request.Url.Host
    		End If
    		CreateUserWizard1.CreateUserStep.ContentTemplateContainer.Controls.Clear()
    	Dim UserName, Email, Question, Answer, Password As New TextBox
    		UserName.ID = "UserName"
    		UserName.Text = "biloute"
    		Email.ID = "Email"
    		Email.Text = "Mail à moi"
    		Question.ID = "Question"
    		Question.Text = "Question à moi"
    		Answer.ID = "Answer"
    		Answer.Text = "Answer à moi"
    		Password.ID = "Password"
    		Password.Text = "Password à moi"
     
    	CreateUserWizard1.CreateUserStep.ContentTemplateContainer.Controls.Add(UserName)
    	CreateUserWizard1.CreateUserStep.ContentTemplateContainer.Controls.Add(Email)
    	CreateUserWizard1.CreateUserStep.ContentTemplateContainer.Controls.Add(Question)
    	CreateUserWizard1.CreateUserStep.ContentTemplateContainer.Controls.Add(Answer)
    	CreateUserWizard1.CreateUserStep.ContentTemplateContainer.Controls.Add(Password)
     
    End Sub
    Et quand je clique sur le bouton pour valider l'inscription il me mets le message suivant :
    Le paramètre 'username' ne doit pas être vide.
    Nom du paramètre : username
    Sur la ligne de code suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Protected Sub CreateUserWizard1_CreatedUser(ByVal sender As Object, ByVal e As System.EventArgs) Handles CreateUserWizard1.CreatedUser
     
    Roles.AddUserToRole(CreateUserWizard1.UserName, "Membre")
    End Sub
    Alors je me demande comment faire pour que le champ "UserName" que j'ai défini soit considéré comme le champ qui sert à gérer le UserName.
    En fait, je vide les champs car je veux pouvoir les générer par CodeBehind. Mon idée est de faire une contrôle dynamique dans lequel je pourrais afficher ou pas certains champs tout en gardant les méthode du contrôle CreateUserWizard pour ne pas avoir à reprogrammer tous les enregistrements dans la base de données ou les principes de vérification ou autre méthode bien utile du contrôle.

    Mon but est de faire, par exemple, que le contrôle puisse demande ou pas la Question/ Réponse de sécurité en fonction d'un paramettre dans la BDD ou de pouvoir déterminer une Login sous forme d'Email et donc ne pas présenter les deux champs pour la saisie mais un seul, le deuxième recevant la saisie du premier ou encore de faire une comparaison de saisie entre les deux champs Login/Email pour confirmation.

    Pouvez vous m'aider ?

  2. #2
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    essai la meme chose mais dans le page load pour voir

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.

    Dans le Load ou l'Init, pareil.
    Par contre, je n'ai plus de message d'erreur. Mais par un habile truchement, je capte ce qu'il se passe.
    Voici un bout de code que j'explique après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Protected Sub CreateUserWizard1_CreatingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles CreateUserWizard1.CreatingUser
    	logage(CreateUserWizard1.UserName)
    End Sub
    logage c'est une petite fonction trés simple qui ouvre un fichier texte, colle la date et " : " et le truc que je mets en paramettre.
    En gros, ça me fait une sorte de fichier de log pour suivre tout ce qu'il se passe dans mon code, un peu comme le débogage.

    Dans le cas précis présenté ici, je devrais avoir "biloute" dans mon fichier. hors, je n'ai rien du tout. Visiblement, la propriété UserName reste vide.

    Bilan, je ne sais pas comment faire pour personnaliser ce bon dieu de contrôle.

Discussions similaires

  1. [VB6] [Réseau] Prendre le contrôle d'un téléchargement
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/10/2002, 14h18
  2. [VB6] [Interface] Nbre de contrôles maxi dans une feuille
    Par Midou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2002, 16h09
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [controle] propriété read only
    Par Fizgig dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/08/2002, 10h30
  5. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo