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 :

[VB.NET] controle utilisateur perte de donnée, au secours !!


Sujet :

ASP.NET

  1. #21
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    oui mais dans mon cas le controle chargé dépend de la saisie de l'utilisateur,
    or si les controles sont vides, je ne sais pas quel est ce choix, non
    J'ai ecrit plus haut :

    Pour ça tu peux peut etre positionner une variable de session indiquant quel controle doit etre chargé lors de l'init de la page...
    Merci de lire mes réponses .

    Autrement dit, la premiere fois que tu charges ton controle dynamique suite a une action de l'utilisateur, tu positionnes une variable de session qui l'indique, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Session["ChargerTelControle"] = true;
    Dans ton init :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if( Session["ChargerTelControle"] != null && Session["ChargerTelControle"] == true )
    {
      //Charger le controle
    }
    La session a l'avantage d'etre disponible tout le temps

  2. #22
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    alors ouais c'est à creuser, mais je crois que mon pblm viendrait peut etre d'ailleurs, je mets ducode :


    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
     
    [...]
    <TD width="15%">Importance :</TD>
    <TD>
    <asp:radiobuttonlist id="RBL_Importance" runat="server" RepeatDirection="Horizontal">
    <asp:ListItem Value="1" Selected="True">Faible</asp:ListItem>
    <asp:ListItem Value="2">Moyenne</asp:ListItem>
    <asp:ListItem Value="3">Elevée</asp:ListItem>
    </asp:radiobuttonlist>
    </TD>
    </TR>
    <TR>
    <TD width="15%">Modèle :</TD>
    <TD>
    <asp:radiobuttonlist id="RBL_Modele" runat="server" RepeatDirection="Vertical" AutoPostBack="True"></asp:radiobuttonlist>
    </TD>
    </TR>
    <TR>
    [...]

    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
    [...]
    Protected WithEvents RBL_Modele As System.Web.UI.WebControls.RadioButtonList
    Protected WithEvents RBL_Importance As System.Web.UI.WebControls.RadioButtonList
     
    [...]
     
     
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Dim toto As String = RBL_Modele.SelectedValue
            Dim titi As String = toto
     
            toto = RBL_Importance.SelectedValue
            titi = toto
     
        End Sub
     
    [...]
     
    ' Evenement déclenché lors du changement de choix de modele mail
    Private Sub RBL_Modele_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBL_Modele.SelectedIndexChanged
          [...]
        End Sub
     
    End Class
    A la première affectation de toto, il reste toujours à "", même après avoir sélectionné un item de RBL_Modele, par contre a la deuxième affecation, il a bien la valeur de RBL_Importance.
    Ca j'avais jamais comme pblm, le truc c'est que si ce n'était pas le cas et que je récupèrais le rbl_modele.selectvalue dès le page_load (comme ca devrait etre le cas), je pourrais charger mon composant bcp plus tot !!!!

  3. #23
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    ah p... la vache autant pour moi, il garde pas non plus la saisie du deuxième composant, il garde la valeur par défaut
    je vais devenir chèvre

  4. #24
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Faudrait que tu nous montres tout le code, il doit manquer des choses importantes là

  5. #25
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <%@ Control Language="vb" AutoEventWireup="false" Codebehind="MailingEmail.ascx.vb" Inherits="archimed.MailingEmail" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
    <TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0">
    	<TR>
    		<td width="15%">&nbsp;</td>
    		<TD class="titrepetitbleu">Choisissez les destinataires en les sélectionnant dans 
    			le deuxième tableau, puis en cliquant sur le type de destinataire 
    			correspondant.</TD>
    	</TR>
    	<TR>
    		<TD width="15%"><asp:button id="B_Dest" runat="server" ToolTip="Destinataires" Text="Dest." Width="40%"></asp:button></TD>
    		<TD><asp:textbox id="TB_Dest" runat="server" ToolTip="Destinataires" Width="50%" ReadOnly="True"
    				TextMode="MultiLine" Rows="3"></asp:textbox>&nbsp;<asp:imagebutton id="IB_Supprimer_Dest" runat="server" ToolTip="Supprimer les destinataires" ImageAlign="AbsBottom"
    				ImageUrl="../img/remove.gif"></asp:imagebutton></TD>
    	</TR>
    	<TR>
    		<TD width="15%"><asp:button id="B_Copie" runat="server" ToolTip="Copie" Text="Cc" Width="40%"></asp:button></TD>
    		<TD><asp:textbox id="TB_Copie" runat="server" ToolTip="Copies" Width="50%" ReadOnly="True" TextMode="MultiLine"
    				Rows="3"></asp:textbox>&nbsp;<asp:imagebutton id="IB_Supprimer_DestCopie" runat="server" ToolTip="Supprimer les destinataires en copie"
    				ImageAlign="AbsBottom" ImageUrl="../img/remove.gif"></asp:imagebutton></TD>
    	</TR>
    	<TR>
    		<TD width="15%"><asp:button id="B_CopieCachee" runat="server" ToolTip="Copie cachée" Text="Cci" Width="40%"></asp:button></TD>
    		<TD><asp:textbox id="TB_CopieCachee" runat="server" ToolTip="Copies cachées" Width="50%" ReadOnly="True"
    				TextMode="MultiLine" Rows="3"></asp:textbox>&nbsp;<asp:imagebutton id="IB_Supprimer_DestCopieCachee" runat="server" ToolTip="Supprimer les destinataires en copie cachée"
    				ImageAlign="AbsBottom" ImageUrl="../img/remove.gif"></asp:imagebutton></TD>
    	</TR>
    	<TR>
    		<TD width="15%">Pièce(s) jointe(s)&nbsp;:</TD>
    		<TD><INPUT id="I_PieceJointe" type="file" size="64" name="I_PieceJointe" runat="server"><br>
    			<asp:textbox id="TB_PiecesJointes" runat="server" ToolTip="Pièces Jointes" Width="50%" ReadOnly="True"></asp:textbox>&nbsp;<asp:imagebutton id="IB_Ajouter" runat="server" ToolTip="Ajouter" ImageAlign="AbsBottom" ImageUrl="../img/new_petit.gif"></asp:imagebutton>&nbsp;
    			<asp:imagebutton id="IB_Supprimer_Fichier" runat="server" ToolTip="Supprimer les fichiers" ImageAlign="AbsBottom"
    				ImageUrl="../img/remove_file.gif"></asp:imagebutton></TD>
    	</TR>
    	<TR>
    		<TD width="15%">Sujet :</TD>
    		<TD><asp:textbox id="TB_Sujet" runat="server" ToolTip="Sujet" Width="50%"></asp:textbox></TD>
    	</TR>
    	<TR>
    		<TD width="15%">Importance :</TD>
    		<TD><asp:radiobuttonlist id="RBL_Importance" runat="server" RepeatDirection="Horizontal">
    				<asp:ListItem Value="1" Selected="True">Faible</asp:ListItem>
    				<asp:ListItem Value="2">Moyenne</asp:ListItem>
    				<asp:ListItem Value="3">Elevée</asp:ListItem>
    			</asp:radiobuttonlist></TD>
    	</TR>
    	<TR>
    		<TD width="15%">Modèle :</TD>
    		<TD><asp:radiobuttonlist id="RBL_Modele" runat="server" RepeatDirection="Vertical"></asp:radiobuttonlist></TD>
    	</TR>
    	<TR>
    		<TD width="15%">Corps :
    		</TD>
    		<TD>
    			<asp:PlaceHolder id="PH_Message" runat="server"></asp:PlaceHolder></TD>
    	</TR>
    	<TR>
    		<TD align="right" colSpan="2"><asp:imagebutton id="IB_Generer" runat="server" ToolTip="Générer le courrier" ImageUrl="../img/generer2.gif"></asp:imagebutton></TD>
    	</TR>
    </TABLE>
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    Imports System.IO
    Public Class MailingEmail
        Inherits System.Web.UI.UserControl
     
        ' Permet de stocker le message saisi
        Dim mess As String
     
        Protected WithEvents B_Dest As System.Web.UI.WebControls.Button
        Protected WithEvents TB_Dest As System.Web.UI.WebControls.TextBox
        Protected WithEvents B_Copie As System.Web.UI.WebControls.Button
        Protected WithEvents TB_Copie As System.Web.UI.WebControls.TextBox
        Protected WithEvents B_CopieCachee As System.Web.UI.WebControls.Button
        Protected WithEvents TB_CopieCachee As System.Web.UI.WebControls.TextBox
        Protected WithEvents IB_Generer As System.Web.UI.WebControls.ImageButton
        Protected WithEvents TB_Sujet As System.Web.UI.WebControls.TextBox
        Protected WithEvents RBL_Modele As System.Web.UI.WebControls.RadioButtonList
        Protected WithEvents RBL_Importance As System.Web.UI.WebControls.RadioButtonList
        Protected WithEvents IB_PiecesJointes As System.Web.UI.WebControls.ImageButton
        Protected WithEvents I_PieceJointe As System.Web.UI.HtmlControls.HtmlInputFile
        Protected WithEvents IB_Ajouter As System.Web.UI.WebControls.ImageButton
        Protected WithEvents IB_Supprimer_Fichier As System.Web.UI.WebControls.ImageButton
        Protected WithEvents IB_Supprimer_Dest As System.Web.UI.WebControls.ImageButton
        Protected WithEvents IB_Supprimer_DestCopie As System.Web.UI.WebControls.ImageButton
        Protected WithEvents IB_Supprimer_DestCopieCachee As System.Web.UI.WebControls.ImageButton
        Protected WithEvents PH_Message As System.Web.UI.WebControls.PlaceHolder
        Protected WithEvents TB_PiecesJointes As System.Web.UI.WebControls.TextBox
     
     
        ' Acces à l'attribut TB_Dest
        Public Property Dest() As String
            Get
                Return TB_Dest.Text
            End Get
            Set(ByVal value As String)
                TB_Dest.Text = value
            End Set
        End Property
     
        ' Acces à l'attribut TB_Copie
        Public Property DestCopie() As String
            Get
                Return TB_Copie.Text
            End Get
            Set(ByVal value As String)
                TB_Copie.Text = value
            End Set
        End Property
     
        ' Acces à l'attribut TB_CopieCachee
        Public Property DestCopieCachee() As String
            Get
                Return TB_CopieCachee.Text
            End Get
            Set(ByVal value As String)
                TB_CopieCachee.Text = value
            End Set
        End Property
     
        ' Acces à l'attribut TB_PiecesJointes
        Public Property PiecesJointes() As String
            Get
                Return TB_PiecesJointes.Text
            End Get
            Set(ByVal value As String)
                TB_PiecesJointes.Text = value
            End Set
        End Property
     
        ' Acces à l'attribut TB_Sujet.Text
        Public ReadOnly Property Sujet() As String
            Get
                Return TB_Sujet.Text
            End Get
        End Property
     
        ' Acces à l'attribut RBL_Importance.SelectedValue
        Public ReadOnly Property Importance() As String
            Get
                Return RBL_Importance.SelectedValue
            End Get
        End Property
     
        ' Acces à l'attribut RBL_Modele.SelectedValue
        Public ReadOnly Property Modele() As String
            Get
                Return RBL_Modele.SelectedValue
            End Get
        End Property
     
     
        ' Acces à l'attribut mess
        Public ReadOnly Property Message() As String
            Get
                Return mess
            End Get
        End Property
     
     
        ' Evènement correspondant au clique du bouton générer
        Public Event Generer()
     
        ' Evènement correspondant au clique du bouton des destinataires "normaux"
        Public Event DestinatairesNormaux()
        ' Evènement correspondant au clique du bouton de suppression des destinataires "normaux"
        Public Event DestinatairesNormauxSupprime()
        ' Evènement correspondant au clique du bouton des destinataires "en copie"
        Public Event DestinatairesCopie()
        ' Evènement correspondant au clique du bouton de suppression des destinataires "en copie"
        Public Event DestinatairesCopieSupprime()
        ' Evènement correspondant au clique du bouton des destinataires "en copie cachée"
        Public Event DestinatairesCopieCachee()
        ' Evènement correspondant au clique du bouton de suppression des destinataires "en copie cachée"
        Public Event DestinatairesCopieCacheeSupprime()
     
        ' Permet de charger le sous-formulaire adequat
        Private Sub ChargeFormulaire()
     
            Dim RBL_temp As RadioButtonList
            Dim fichier As String
            Dim parties As String()
            Dim corps As Control
            Dim chemin As String
     
            'RBL_temp = CType(sender, RadioButtonList)
            ' On récupère le chemin sélectionné
            fichier = RBL_Modele.SelectedValue
            ' On en récupère le nom de fichier
            fichier = System.IO.Path.GetFileName(fichier)
            ' On récupère le nom sans l'extension
            parties = fichier.Split(Convert.ToChar("."))
            ' On initialise le chemin vers le controle utilisateur à afficher
            chemin = "../" & Constantes.PathTemplateMailingVirtuel & "/" & Constantes.Mail & "/" & parties(0) & "/" & parties(0) & ".ascx"
            ' On initialise le controle utilisateur à afficher
            corps = Me.Parent.Page.LoadControl(chemin)
            ' On affiche le controle utilisateur
            PH_Message.Controls.Add(corps)
     
        End Sub
     
    #Region " Code généré par le Concepteur Web Form "
     
        'Cet appel est requis par le Concepteur Web Form.
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
     
        End Sub
        Protected WithEvents RBL_NbFichiers As System.Web.UI.WebControls.RadioButtonList
     
        'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
        'Ne pas supprimer ou déplacer.
        Private designerPlaceholderDeclaration As System.Object
     
        Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
            'Ne le modifiez pas en utilisant l'éditeur de code.
            InitializeComponent()
        End Sub
     
    #End Region
     
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
           Repertoire.ChargeRBLCliquable("../" & Constantes.PathTemplateMailingVirtuel & Constantes.Mail, Constantes.PathTemplateMailingReel & Constantes.Mail, RBL_Modele)
     
            Dim toto As String = RBL_Modele.SelectedValue
            Dim titi As String = toto
     
            toto = RBL_Importance.SelectedValue
            titi = toto
     
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton générer
        Private Sub IB_Generer_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IB_Generer.Click
     
            ' Le controle contenant le message implémente l'interface ITemplateExportMailing
            If PH_Message.Controls.Count <> 0 Then
                Dim corps As ITemplateExportMailing
                corps = CType(PH_Message.Controls(0), ITemplateExportMailing)
                ' On sait donc qu'il a une propriété message
                mess = corps.Message
            End If
     
            RaiseEvent Generer()
        End Sub
     
        ' Evènement déclenché lors du clique sur le bouton ajouter
        Private Sub IB_Ajouter_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IB_Ajouter.Click
     
            ' Si un fichier a été sélectionné, il est ajouté à la variable de session
            ' des pièces jointes
            If I_PieceJointe.Value.Length <> 0 Then
                VarSession.Mailing.PiecesJointes.Add(I_PieceJointe.Value)
                ' On l'ajoute aussi au textbox des pieces jointes
                TB_PiecesJointes.Text = TB_PiecesJointes.Text & System.IO.Path.GetFileName(I_PieceJointe.Value) & "; "
            End If
     
        End Sub
     
        ' Evènement déclenché lors du clique sur le bouton supprimer des pieces jointes
        Private Sub IB_Supprimer_Fichier_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IB_Supprimer_Fichier.Click
     
            ' On vide le texte et la variable de session des pieces jointes
            TB_PiecesJointes.Text = ""
            VarSession.Mailing.PiecesJointes = New Collection
     
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton des destinataires "normaux"
        Private Sub B_Dest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_Dest.Click
            RaiseEvent DestinatairesNormaux()
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton de suppression des destinataires "normaux"
        Private Sub IB_Supprimer_Dest_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IB_Supprimer_Dest.Click
            RaiseEvent DestinatairesNormauxSupprime()
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton des destinataires "en copie"
        Private Sub B_Copie_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_Copie.Click
            RaiseEvent DestinatairesCopie()
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton de suppression des destinataires "en copie"
        Private Sub IB_Supprimer_DestCopie_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IB_Supprimer_DestCopie.Click
            RaiseEvent DestinatairesCopieSupprime()
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton des destinataires "en copie cachée"
        Private Sub B_CopieCachee_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_CopieCachee.Click
            RaiseEvent DestinatairesCopieCachee()
        End Sub
     
        ' Evenement déclenché lors du clique sur le bouton de suppression des destinataires "en copie cachée"
        Private Sub IB_Supprimer_DestCopieCachee_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IB_Supprimer_DestCopieCachee.Click
            RaiseEvent DestinatairesCopieCacheeSupprime()
        End Sub
     
        ' Evenement déclenché lors du changement de choix de modele mail
        Private Sub RBL_Modele_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBL_Modele.SelectedIndexChanged
            Me.ChargeFormulaire()  
        End Sub
     
    End Class
    voilà, je voulais pas vous submerger

  6. #26
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    ce qui est énorme, c'est que si je change la sélection de rbl_importance (pas de postback), puis la sélection de rbl_modele (postback), l'évènement est bien levé, à l'affichage les bons items de mes listes sont sélectionnés, mais dans le page load, les valeurs sont pas les bonnes (ie : valeur par défaut pour rbl_importance et vide pour rbl_modele) . De plus si je clique sur un bouton autre de mon formulaire (postback), l'évènement du bouton est levé, mais l'évènement de la rbl_modele aussi

  7. #27
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    siouplait les gars (et les filles) me lachez pas maintenant
    je comprends vraiment pas le comportement de mon control

  8. #28
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par lucie.houel
    siouplait les gars (et les filles) me lachez pas maintenant
    je comprends vraiment pas le comportement de mon control
    C'est vendredi soir, désolé. Ca se sera pour + tard. Y a qd même un peu de boulot pour comprendre ton code

  9. #29
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    bon d'accord mais je vous préviens dès lundi, je vous réalpague

  10. #30
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    alors qq'un a une idée pour moi en ce début de semaine ?

  11. #31
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Hello,

    Désolé, mais je comprends pas bien le probleme, qd tu ecris :

    A la première affectation de toto, il reste toujours à "", même après avoir sélectionné un item de RBL_Modele, par contre a la deuxième affecation, il a bien la valeur de RBL_Importance.
    Ca j'avais jamais comme pblm, le truc c'est que si ce n'était pas le cas et que je récupèrais le rbl_modele.selectvalue dès le page_load (comme ca devrait etre le cas), je pourrais charger mon composant bcp plus tot !!!!
    Qd on regarde le code de ton page_load il y a deux affectations successives de toto , c'est de ça dont tu parles ? Ou bien tu veux dire que d'un postBack à l'autre la valeur n'est plus la meme ?

  12. #32
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    nan en fait apres plusieurs tests, je m'apercois que qd je test les valeurs prises par les controles après saisies (affectation des toto), mes valeurs ne sont pas bonnes (selectedvalue, etc. sont soit nulles, soit à la valeur par défaut, alors que je n'ai pas choisie celle-là,etc.) alors qu'à l'affichage les bons items sont sélectionnés

  13. #33
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    vous me laissez tomber

  14. #34
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    c'est vraiment bizarre avec le textbox du formulaire c'est pareil : je saisis une valeur, apres un postback dans le page_load le textbox.text est = "", alors qu'à l'affichage ma saisie apparaît bien dans le textbox
    je capte rien

  15. #35
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Désolé mais je n'ai pas le temps de jeter un oeil en profondeur a ton code. Peux tu preciser un truc : qd tu saisies qque chose dans ta textBox, que tu fais un postBack, tu dis que ta textBox est vide, mais est ce qu'au retour sur le client, l atextBox a retrouvée sa valeur ou non ?

    Egalement peux tu me dires si ta textBox se trouve dans un controle chargé dynamiquement ? si oui charges-tu bien ce controle avant le loadViewState ?

  16. #36
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    je précise : la textbox se trouve dans le webuser control, d'autres controles lui appartenant ont des autopostback à true. Si je saisis qqchose dans le textbox et que j'actionne un controle avec autopostback = true, dans le page_load suivant le texbox.text="" alors que sur la page qui s'affiche les texbox.text est bein égal à ma saisie

    ce control utilisateur est chargé au moment du choix de l'utilisateur et dans le page load :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    ' Permet de charger les formulaires de saisie
    Private Sub ChargeFormulaire()
            ' Si un type a bien été choisi et qu'aucun formulaire n'a été chargé
            If DDL_Type_Courrier.SelectedValue <> "-1" And PH_Envoi.Controls.Count = 0 Then
                If DDL_Type_Courrier.SelectedValue <> Nothing Then
                    ' Si le type de courrier choisi est : courrier ou fax
                    If Convert.ToInt32(DDL_Type_Courrier.SelectedValue) = Constantes.Courrier Or Convert.ToInt32(DDL_Type_Courrier.SelectedValue) = Constantes.Fax Then
                        ' On charge le formulaire de saisie d'un courrier papier
                        MPapier = CType(LoadControl("MailingPapier.ascx"), MailingPapier)
                        MPapier.TypeCourrier = Convert.ToInt32(DDL_Type_Courrier.SelectedValue)
                        MPapier.EnableViewState = False
                        PH_Envoi.Controls.Add(MPapier)
                    Else
                        ' Sinon on charge le formulaire de saisie d'un courrier électronique
                        MEmail = CType(LoadControl("MailingEmail.ascx"), MailingEmail)
                        MEmail.EnableViewState = False
                        PH_Envoi.Controls.Add(MEmail)
                    End If
                End If
            End If
        End Sub
     
    [...]
     
     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            ' Chargement du formulaire de saisie du courrier
            Me.ChargeFormulaire()
     
        End Sub
     
    [...]
     
    ' Evènement lié au choix d'un type de courrier
        Private Sub DDL_Type_Courrier_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DDL_Type_Courrier.SelectedIndexChanged
     
            ' Si un type a bien été choisi
            If DDL_Type_Courrier.SelectedValue <> "-1" Then
                ' On lance le chargement du formulaire correspondant
                Me.ChargeFormulaire()
            End If
     
        End Sub
     
    [...]
    j'ai essayé en enlevant le MEmail.EnableViewState = False, mais j'ai une erreur de chargement de controle et ca change rien à mon pblm

  17. #37
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Sincerement, j'ai qd meme l'impression de me répeter et plutot deux fois qu'une. Tu ecris :

    ce control utilisateur est chargé au moment du choix de l'utilisateur et dans le page load
    Alors que ça fait plusieurs fois que j'écris :

    En particulier si tu veux que le viewstate fonctionne correctement il faut que tes controles dynamiques soient chargés avant le LoadViewState
    ...
    si tu veux pouvoir accéder à ta text box dynamique, et que le viewstate fonctionne alors je pense que tu dois la rechargée (la text box) dans l'init de la page, pour qu'elle existe au moment du load viewstate
    Je me demande combien de fois il faudra que je le repete pour que tu me crois... Tu pourrais au moins essayer qd meme

    Ce qui est louche par contre c'est qu'au retour sur le client ta textBox ai récupéré sa valeur, bizarre mais doit y avoir une explication.

    Sinon pour bien comprendre l'ordre des evenements dans une page asp.net et le pourquoi du comment : http://www.15seconds.com/issue/020102.htm

  18. #38
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    mdr

    je t'assure que je suis pas blonde et j'ai tout à fait compris ce que tu m'as dis, c'est pkoi j'ai fait aussi ce test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
            'Ne le modifiez pas en utilisant l'éditeur de code.
            InitializeComponent()
     
            ' Chargement du formulaire de saisie du courrier
            Me.ChargeFormulaire()
     
        End Sub
    sachant que j'ai enlevé le Me.ChargeFormulaire() du DDL_Type_Courrier_SelectedIndexChanged et comme ce na marchait pas plus (eh oui !!!!) et bien j'ai remis mon code à son état initial

    mais j'ai bien compris que les controles utilisateurs doivent dans la mesure du possible etre chargés dans le Init.

  19. #39
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Les évènements des contrôles eux-mêmes sont de toute façon lancés après l'évènement Load. Si tu veux voir les données concernées par chaque contrôle après chargement du viewstate et exécution des éventuels évènements, essaye du côté de OnPreRender. À ce moment-là, c'est sûr, tout est initialisé, chargé et exécuté :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  20. #40
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Arf décidemment, tu y mets de la mauvaise volonté... pourtant je ne souhaite que te donner un coup de main, mais aprés ce message, je sens que je vais laisser tomber.

    Donc ok tu n'es pas blonde (et d'abord je n'ai rien contre les blondes ), mais moi je ne suis certainement pas devin, si tu ne me dis pas que tu as essayé une de mes solutions, et que ça ne marche pas, et bien je me dis que tu ne l'as pas essayé (a moins que tu l'ais ecris et que j'ai raté ton message, pourtant j'ai tout reparcouru deux fois, dans ce cas la mea culpa) ...

    Ensuite qd on regarde le code de ta fonction ChargeFormulaire, je vois que tu essayes de récupérer une valeur d'un controle de type DropDownList, or comme on l'a deja dit, dans cet evenement tes controles n'ont pas encore de valeur, et je t'avais préconisé de passer par la session pour te rappeler quel control etait à charger. Mais peut etre l'as tu essayer aussi, mais tu ne le dis pas non plus...

    Et enfin si ça ne fonctionne pas, il reste tout de même que si tu veux que le ViewState fonctionne, alors il faut charger tes controles dynamiques dans l'init, aprés c'est trop tard ! Tu as peut etre plusieurs problemes simultanés qui se marchent un peu dessus, mais si tu ne regles pas celui là, je t'assure que ça ne fonctionnera pas.

    EDIT , pour maniak :

    Le probleme c'est quelle a des controles à charger dynamiquement et que le preRender c'est bien trop tard pour le faire à mon avis.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/02/2011, 14h11
  2. Perte de données Vb.net-access?
    Par Mario Rousson dans le forum VB.NET
    Réponses: 4
    Dernier message: 11/12/2010, 23h22
  3. Probleme de passage de donnée dans un control utilisateur
    Par Luciol44 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/03/2010, 12h44
  4. [Remoting VB.NET 1.1] Perte de données
    Par BalBalNet dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/01/2007, 16h16
  5. [VB.Net] Regrouper des controles utilisateurs
    Par Jsh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/04/2006, 13h39

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