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 MVC Discussion :

Laisser un Html.TextBox vide si zéro [Débutant]


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Par défaut Laisser un Html.TextBox vide si zéro
    Bonjour,

    Dans ma vue index.cshtml, j'ai l'élément suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @Html.TextBox("Age",Model.personne.Age)
    Age est un int.

    Comment est-il possible de faire en sorte que le champ ne soit pas rempli avec un zéro si Age=0 ?

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Il y a plusieurs solutions mais tu pourrais faire quelque chose comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Html.TextBox("Age",Model.personne.Age > 0 ? Model.personne.Age : string.Empty)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Par défaut
    Citation Envoyé par Dokho1000 Voir le message
    Il y a plusieurs solutions mais tu pourrais faire quelque chose comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Html.TextBox("Age",Model.personne.Age > 0 ? Model.personne.Age : string.Empty)
    Merci Dokho1000, j'ai finalement utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @Html.TextBox("Age", Model.personne.Age== 0 ? string.Empty : Model.personnne.Age.ToString())
    ce qui est très proche de ta proposition.

    Par contre je ne comprends pas pourquoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Fonctionne :
    @Html.TextBox("Age",Model.personne.Age)
    
    // Ne fonctionne pas :
    @Html.TextBox("Age", Model.personne.Age== 0 ? string.Empty : Model.personnne.Age)
    
    // Fonctionne :
    @Html.TextBox("Age", Model.personne.Age== 0 ? string.Empty : Model.personnne.Age.ToString())
    Dans le premier cas, je ne suis pas obligé de convertir en string mon Age. Par contre, avec l'opérateur ternaire qui teste sa valeur, je suis obligé de mettre un ToString() sur Age sinon ça ne compile pas.
    Je ne comprends pas...

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Citation Envoyé par grasdubide Voir le message
    Merci Dokho1000, j'ai finalement utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @Html.TextBox("Age", Model.personne.Age== 0 ? string.Empty : Model.personnne.Age.ToString())
    ce qui est très proche de ta proposition.

    Par contre je ne comprends pas pourquoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Fonctionne :
    @Html.TextBox("Age",Model.personne.Age)
    
    // Ne fonctionne pas :
    @Html.TextBox("Age", Model.personne.Age== 0 ? string.Empty : Model.personnne.Age)
    
    // Fonctionne :
    @Html.TextBox("Age", Model.personne.Age== 0 ? string.Empty : Model.personnne.Age.ToString())
    Dans le premier cas, je ne suis pas obligé de convertir en string mon Age. Par contre, avec l'opérateur ternaire qui teste sa valeur, je suis obligé de mettre un ToString() sur Age sinon ça ne compile pas.
    Je ne comprends pas...
    Les 2 valeurs qui sont retournées doivent être du même type. Dans le cas qui ne fonctionne pas tu as un "int" et un "string"...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Par défaut
    Citation Envoyé par Dokho1000 Voir le message
    Les 2 valeurs qui sont retournées doivent être du même type. Dans le cas qui ne fonctionne pas tu as un "int" et un "string"...
    OK, je comprends mieux. Merci beaucoup.

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

Discussions similaires

  1. Utilisation de Replace() avec la HTML textbox.value
    Par Drachle dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/11/2008, 18h15
  2. probleme textbox vide.
    Par zakaroh dans le forum C#
    Réponses: 20
    Dernier message: 11/08/2008, 10h57
  3. CustomValidator inopérant quand TextBox vide
    Par cyrano_de_bergerac dans le forum C#
    Réponses: 1
    Dernier message: 14/01/2008, 13h48
  4. FileUpload et html:file vide
    Par badoress dans le forum Struts 1
    Réponses: 6
    Dernier message: 04/10/2007, 12h21

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