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 :

Affichage d'un message d'erreur en cas de validation non reussi


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 187
    Points : 50
    Points
    50
    Par défaut Affichage d'un message d'erreur en cas de validation non reussi
    Bonjour

    J'essaye de controler les erreurs prevenant des champs de la base de données comme l'insertion d'un Id deja existant ou bien le format d'un champs, voila le code si dessous :
    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
     
    Try
                ''Sql1 = "INSERT INTO [dossier] ([num_dossier], [num_envoi_commune], [num_arrivee_agence], [date_arrivee_agence],[date_envoi_commun], [observation], [petitionaire], [id_commune], [code_projet], [reference_fonciere], [id_topographe], [id_Archetecte], [nom_operation], [date_comm], [situation], [Consistance],[type_commission]) VALUES(@num_dossier, @num_envoi_commune, @num_arrivee_agence, @date_arrivee_agence,@date_envoi_commun, @observation, @petitionaire,@id_commune, @code_projet, @reference_fonciere, @id_topographe, @id_Archetecte,@nom_operation, @date_comm, @situation, @Consistance,@type_commission)"
                Sql = "INSERT INTO [Petitionnaire] ([CIN_petitionnaire],[petitionnaire]) VALUES(@CIN_petitionnaire,@petitionnaire)"
     
     
                myConnection = CType(Session("myConnection"), SqlConnection)
                myCommand2 = New SqlCommand(Sql, myConnection)
     
                myCommand2.Parameters.AddWithValue("@CIN_petitionnaire", Convert.ToString(cin.Text))
                myCommand2.Parameters.AddWithValue("@petitionnaire", Convert.ToString(Petitionnaire.Text))
     
                myReader2 = myCommand2.ExecuteReader()
     
                myReader2.Close()
                Pet.Visible = True
                'cin.Text = ""
                'Petitionnaire.Text = ""
     
            Catch e1 As SqlException
                Page.Response.Redirect("nouveau.aspx")
                Pet.Text = "erreur"
                Pet.Visible = True
            End Try
    Si l'insertion est réussi j'affiche un message dans un Label, sinon je lui affecte comme valeur de text "erreur " et je change la visibilité.
    Dans le cas d'erreur je reçois pas le message dans mon label. je sais pas pourquoi ?? et si y a encore une autre méthode de le faire merci de m'aider.

  2. #2
    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
    Salut,

    Ca ne marche pas parce que tu fais :
    Ce qui revient à changer de page. Pour que ca marche, il faudrait supprimer cette ligne (et adapter ce qui doit l'etre).

  3. #3
    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
    Tu fais un response.redirect, comment tu veux voir ton message?

    edit: grillaid

  4. #4
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Mais moi je veux qu'il me retourne au même page en cas d'erreur. c'est pourquoi j'ai met la redirection vers la même page.

  5. #5
    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
    C'est ce que tu veux mais ce n'est pas comme ca que marche ASP.

    Comme je l'ai dit, tu as plusieurs solutions :
    1 - La moins simple : Te contenter du postback, verifier si la requete reussi et, si non, adapter la page en consequence.
    2 - La plus simple : Passer un parametre à ta page. En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.Response.Redirect("nouveau.aspx?maVariable=4")
    Puis, dans le code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String maVariable= this.Request["maVariable"];
    Si maVariable = null, c'est que la page a ete appelée sans parametre. Sinon, elle contiendra la valeur passée dans l'URL (dans l'exemple, "4").
    3 - La moche : Passer par une variable de session (ou meme application tant qu'a faire du moche).

    a+

Discussions similaires

  1. [JUnit] Détail du message d'erreur en cas d'erreur de comparaison
    Par greatmaster1971 dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 09/04/2009, 12h13
  2. Réponses: 2
    Dernier message: 23/06/2008, 17h12
  3. Réponses: 4
    Dernier message: 26/02/2008, 14h12
  4. Réponses: 21
    Dernier message: 13/02/2008, 17h16
  5. Supprimer l'affichage d'un message d'erreur
    Par delphineleclerc1 dans le forum Access
    Réponses: 2
    Dernier message: 23/02/2006, 09h14

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