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 :

Calendar et postback lors de la séléction


Sujet :

ASP.NET

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut Calendar et postback lors de la séléction
    Bonjour,

    J'ai un petit problème avec le controle Calendar..

    Le fait est que j'ai un formulaire que l'utilisateur doit remplir, et que par soucis de format j'ai, pour séléctionner une date, ajouté un controle Calendar. Mon problème est que lorsque je séléctionne une date dans ce calendar, il semble qu'un postback est réalisé..
    Hors je ne trouve pas la propriété qui permette d'empêcher cela, j'ai regardé sous msdn, les forums et companie mais rien...

    J'ai bien plusieurs alternatives, comme récupérer l'ensemble des valeurs de mon formulaire lors de la séléction etc... ou bien remplacer le calendar par un textbox et mettre une regex, mais le calendar est bien pratique tout de même....


    Avis aux idées..

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    Essaye avec un update panel autour de ton formulaire

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut
    Merci Tortuegenie pour ta réponse rapide,

    Justement j'ai un panel autour de mon formulaire:
    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
    <asp:Panel ID="Panel1" runat="server">
        <div>
            <table>
                <tr>
                    <td><asp:Label ID="LabelModifIdArticle" runat="server" Text="Code Produit : "></asp:Label></td>
                    <td><asp:Label ID="LabelResultModifIdArticle" runat="server" Text='<% Response.Write(ID_ %>'></asp:Label></td>                
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifNomArticle" runat="server" Text="Nom Produit : "></asp:Label></td>
                    <td><asp:Label ID="LabelResultNomArticle" runat="server" Text="Label"></asp:Label></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifFamille" runat="server" Text="Famille du Produit : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultFamille" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifSousFamille" runat="server" Text="Sous-famille du produit : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultSousFamille" runat="server"></asp:TextBox></td>                
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifQuantiteUtilisee" runat="server" Text="Quantité annuelle utilisée : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultQuantiteUtilisee" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifUniteStockage" runat="server" Text="Unité de stockage : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultUniteStockage" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifFDS" runat="server" Text="Fiche De Sécurité (FDS) : "></asp:Label></td>
                    <td><asp:CheckBox ID="CheckBoxResultFDS" runat="server" /></td>                
                </tr>
                <tr>
                    <td><asp:Label ID="LabelDateFDS" runat="server" Text="Date FDS : "></asp:Label></td>
                    <td><asp:Calendar ID="CalendarResultDateFDS" runat="server" ></asp:Calendar></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifDateModif" runat="server" Text="Dernière Modification : "></asp:Label></td>
                    <td><asp:Label ID="LabelResultModif" runat="server" Text="Label"></asp:Label></td>
                </tr>            
                <tr>
                    <td><asp:Label ID="LabelModifDateValidation" runat="server" Text="Date de validation FDS : "></asp:Label></td>
                    <td><asp:Calendar ID="CalendarResultDateValidation" runat="server"></asp:Calendar></td>                
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifSolvant" runat="server" Text="Solvant : "></asp:Label></td>
                    <td><asp:CheckBox ID="CheckBoxResultSolvant" runat="server" /></td>
                </tr>            
                <tr>
                    <td><asp:Label ID="LabelModifPression" runat="server" Text="Pression vapeur : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultPression" runat="server"></asp:TextBox></td>
                </tr>            
                <tr>
                    <td><asp:Label ID="LabelModifQuantiteMaxStock" runat="server" Text="Quantité maximale de stockage : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultQuantiteMaxStock" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifFrequenceUtilisation" runat="server" Text="Fréquence d'utilisation : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultFrequenceUtilisation" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifRisquePotentiel" runat="server" Text="Risque potentiel : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultRisquePotentiel" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifPriorite" runat="server" Text="Priorité : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultPriorite" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifStock" runat="server" Text="Stock : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultStock" runat="server"></asp:TextBox></td>
     
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifCommentaire" runat="server" Text="Commentaire : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultCommentaire" runat="server" TextMode="MultiLine"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifCodeRisque" runat="server" Text="Code risque : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultCodeRisque" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifCMR" runat="server" Text="CMR : "></asp:Label></td>
                    <td><asp:CheckBox ID="CheckBoxResultCMR" runat="server" /></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifCODFOR" runat="server" Text="Code fournisseur : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultCODFOR" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifCode_UN" runat="server" Text="Code UN : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultCode_UN" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifClasse_UN" runat="server" Text="Classe UN : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultClasse_UN" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Label ID="LabelModifCode_Utilisation" runat="server" Text="Code utilisation : "></asp:Label></td>
                    <td><asp:TextBox ID="TextBoxResultCode_Utilisation" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><asp:Button ID="Modification" runat="server" Text="Modifier" 
                            onclick="Modification_Click" /></td>
                </tr>
            </table>       
     
        </div>
        </asp:Panel>

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    Pas un panel, un updatepanel

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut
    Ok, le postback ne s'effectue plus mais je ne parviens plus à changer la date dans mon calendar..
    j'obtiens l'erreur suivante:

    Argument de publication (postback) ou de rappel non valide. La validation d'événement est activée via <pages enableEventValidation="true"/> dans la configuration ou via <%@ Page EnableEventValidation="true" %> dans une page. Pour des raisons de sécurité, cette fonctionnalité vérifie si les arguments des événements de publication (postback) ou de rappel proviennent du contrôle serveur qui les a rendus à l'origine. Si les données sont valides et attendues, utilisez la méthode ClientScriptManager.RegisterForEventValidation afin d'inscrire les données de publication (postback) ou de rappel pour la validation.
    Je n'ai pas trouvé l'élément
    enableEventValidation

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Points : 295
    Points
    295
    Par défaut
    Vérfie si tu as ça dans ton web config
    dans la section
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <system.webServer>
         <validation validateIntegratedModeConfiguration="false"/>

  7. #7
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Sinon, il y a aussi l'option de passer par un calendarextender sur une textbox. Ce controle ne provoque pas de postback et est plus joli.

    Un exemple :
    http://www.asp.net/ajax/ajaxcontrolt.../calendar.aspx

    a+

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut
    Bonjour!!

    Merci de ta suggestion, j'ai retenté mais j'obtiens toujours la même erreur.

    J'ai palié en attendant en remplacant mon calendar par une TextBox sur laquelle je fais une regex pour la date, c'est pas très propre car ma regex ne renvoie pas d'erreur si j'entre une date comme 31/02/1999, c'est ma fonction d'Update de ma base qui me renvoie l'erreur mais en attendant ca me permet d'avancer sur le reste.

    Je continue cependant de prendre en compte et de tester vos idées tout en vous tenant au courrant de leurs effets.

    Merci à vous.


    Edit: je n'avais pas vu le post précédent, je vais fouiller de ce coté

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut
    Ca marche NICKEL!!!

    C'est super!!

    Voici le lien pour ajouter le ToolKit pour les prochains qui voudront utiliser cette méthode.
    http://www.asp.net/ajaxlibrary/act.ashx

    L'avantage est aussi que le calendar ne prend pas de place puisqu'il ne s'affiche que lorsqu'on click sur le controle associé. Il peut être personnalisé comme le montre cet autre lien:
    http://www.asp.net/ajax/ajaxcontrolt.../calendar.aspx

    Merci beaucoup, de plus je suis sur que quelques contrôles de ce toolkit vont m'être utiles!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. double postback lors d'un clic sur le bouton
    Par Wnejla dans le forum ASP.NET
    Réponses: 6
    Dernier message: 29/03/2013, 02h32
  2. Faire un async postback lors d'un lcik sur un div/panel
    Par Sergejack dans le forum ASP.NET Ajax
    Réponses: 5
    Dernier message: 12/07/2012, 17h28
  3. Réponses: 2
    Dernier message: 28/07/2010, 13h03
  4. Calendar sans le postBack
    Par SkyBack dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/02/2008, 13h32
  5. Réponses: 2
    Dernier message: 19/04/2005, 11h27

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