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 :

CreateUserWizard ajout de champ au début


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 CreateUserWizard ajout de champ au début
    Bonjour

    Je voudrais rajouter des champs pour saisir des inforamtion que je stockerais dans ma base, dans un table prévu pour ça.
    Mais je voudrais rajouter ça sur le premier Step du Wizard.

    Vu que je trouve rien dans la MSDN sur ce sujet, j'en arrive à me demander si c'est possible ?

    Pouvez vous m'aider ?

  2. #2
    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
    J'ai avancé un poil. J'ai réussi à mettre des champs dans le premier Step.
    Mais maintenant je suis confronté à un autre souci. Je fabrique mes contrôles dynamiquement avec une classe externe. Mes contrôles disposent de Validator.
    Lorsque je clique pour créer l'utilisateur, ces Validator ne se mettent pas en marche.
    Alors je me suis dit qu'il fallait peut être personaliser l'ensemble. Et donc j'ai mis un bouton en plus. Mais du coup, il y a plus de création d'utilisateur car lorsqu'on met des truc dans le CustomNavigationTemplate ça fait disparaitre les contrôles par défaut.

    Alors c'est pas grave, je me suis dit vu qu'il faut personnaliser, allons jsqu'au bout.
    Mais maintenant je suis confronté au problème tout bête : je ne trouve pas la méthode qui déclenche l'évènement de création de l'utilisateur.

    Voici mon code de Wizard et le code Behind que j'ai mis.
    Simple détail sur la procédure det.ConstrPage(tblDetailMembre) : c'est la procédure de la classe externe qui génére tous mes contrôles de saisie et de validation. Le tout allant dans une table créée dynamiquement aussi.

    La procédure det.Envoyer(tblDetailMembre, "INSERT", CreateUserWizard1.UserName) sert à enregistrer les éléments de l'utilisateur dans la BDD, dans une table à part du MemberShip, comme l'adresse ou la date de naissance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <asp:CreateUserWizard ID="CreateUserWizard1" runat="server">
    	<WizardSteps>
    		<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server" Title="title create step">
    			<CustomNavigationTemplate>
    				<asp:Button ID="btlTest" runat="server" Text="vas y" OnClick="Creation" />			
    			</CustomNavigationTemplate>
    		</asp:CreateUserWizardStep>
    		<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"></asp:CompleteWizardStep>
    	</WizardSteps>
    </asp:CreateUserWizard>
    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
     
    	Public det As New DetailMembre
    	Public dmCS As New DataManager("CS")
    	Public tblDetailMembre As New Table
     
    	Protected Sub CreateUserWizard1_ContinueButtonClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles CreateUserWizard1.ContinueButtonClick
    		FormsAuthentication.SignOut()
    	End Sub
     
    	Protected Sub CreateUserWizard1_CreatedUser(ByVal sender As Object, ByVal e As System.EventArgs) Handles CreateUserWizard1.CreatedUser
    		Roles.AddUserToRole(CreateUserWizard1.UserName, "Membre")
    		det.Envoyer(tblDetailMembre, "INSERT", CreateUserWizard1.UserName)
    	End Sub
     
    	Protected Sub CreateUserWizardStep1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles CreateUserWizardStep1.Load
    		CreateUserWizardStep1.Controls.Add(tblDetailMembre)
    		det.ConstrPage(tblDetailMembre)
    	End Sub
     
    	Sub creation(ByVal sender As Object, ByVal e As System.EventArgs)
    'c'est là qu'il faut mettre le truc que je trouve pas
    	End Sub
    Pouvez vous m'aider ?

  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
    Bon, j'ai encore avancé pour me rendre compte qu'il faut tout personnalisé si on veut suivre cette voie.
    Donc je me suis au boulot et je refais un Wizard complet.
    toutefois, je bloque sur un truc que je ne capte aps.
    J'ai fais un essai sur une apge à part, histoire de bien cerner le souci.
    Je vous soumets mon code.
    PAge HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <asp:CreateUserWizard ID="CreateUserWizard1" runat="server">
    <WizardSteps>
    	<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
    	<ContentTemplate></ContentTemplate>
    	</asp:CreateUserWizardStep>
    	<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
    	</asp:CompleteWizardStep>
    </WizardSteps>
    </asp:CreateUserWizard>
    CodeBehind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    	Dim txt As New TextBox
    	txt.ID = "UserName"
    	CreateUserWizardStep1.Controls.Add(txt)
    End Sub
    Message d'erreur :
    CreateUserWizard1: CreateUserWizardStep.ContentTemplate ne contient pas un IEditableTextControl avec l'ID UserName pour le nom d'utilisateur.
    Alors, le message je le comprends bien.
    Ce que je ne comprends pas, c'est pourquoi il bloque alors que le controle en question je lui envoi. Est ce que mon FrameWork serait atteint de sélinité précoce et ne retrouverais plus ses lunettes sur son nez ?

    Merci pour votre aide.

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Voilà pour le problème, il faut le mettre plus tôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
            Dim txt As Textbox
            txt.Id= "UserName"
            CreateUserWizardStep1.Controls.Add(txt)
        End Sub
    Par contre une Textbox n'a rien à voir avec un IEditableTextControl

  5. #5
    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

    Lorsque je fais comme tu dis, j'ai le message d'erreur suivant :
    La référence d'objet n'est pas définie à une instance d'un objet.
    Autre question : c'est quoi un IEditableTextControl, si c'est pas une textbox ?
    Autre question de plus : là, je suis dans une page de test pour comprendre, mais à la finale tout mon business sera placé dans un composant utilisateur qui ne dispose pas de Pre_Init. Comment faire ?

  6. #6
    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
    là, je tourne en rond et je trouve rien pour m'aider.

    J'ai suivi les indications de cette fiche de la MSDN : http://msdn2.microsoft.com/fr-fr/lib...ol(VS.80).aspx

    Et j'ai fais un essai pour voir comment ça marche
    J'ai fait ça comme code, mais y rien qui apparait sur la page.
    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
     
    Dim txt As New customeditablebox
    	txt.ID = "UserName"
    	txt.Text = "txt bil"
    	Dim troupage As HtmlForm = Page.Controls(0).FindControl("form1")
    	Dim t As New Table
    	t.BorderWidth = 5
    	t.BorderStyle = BorderStyle.Solid
    	t.BorderColor = Drawing.Color.Black
    	Dim r As New TableRow
    	Dim c As New TableCell
    	Dim l As New Label
    	l.Text = "biloute"
    	c.Controls.Add(l)
    	c.Controls.Add(txt)
    	r.Cells.Add(c)
    	t.Rows.Add(r)
    	troupage.Controls.Add(t)
    Sur ma page j'ai une table avec des grosses brodures noires qui contient le mot "biloute" et rien d'autre.
    Donc, je crois que j'ai un souci sur l'implémentation de l'interface. J'ai jamais fait et je dois bien avouer que je ne comprends pas trop le principe.

    Un peu d'aide serait la bienvenue.

Discussions similaires

  1. Interbase 6.5 Ajout de champs
    Par JCD59 dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/09/2005, 09h49
  2. [debutant] Ajouter un champ à une table.
    Par castaka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2005, 10h08
  3. Ajouter un champs dans un Report
    Par nora_ora dans le forum Reports
    Réponses: 7
    Dernier message: 09/12/2004, 17h24
  4. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02
  5. ajouter un champ dynamiquement à une instance de table
    Par maniack dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2004, 23h58

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