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 :

Variable Razor = value


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Passioné ...
    Inscrit en
    Juillet 2020
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Passioné ...
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2020
    Messages : 145
    Points : 158
    Points
    158
    Par défaut Variable Razor = value
    Bonjour,

    je n'arrive pas à transmettre une variable razor string en tant que value d'un bouton ... ce doit être trivial mais je ne trouve pas la solution ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @string dateencours = DateTime.Now.ToShortDateString();
     
    <form>          
            <button name="boutonsous_jours" value=@t_dateencours asp-area="" asp-controller="Reservation" asp-action="CheckSous">- 1 Jour</button>
            <button name="boutonadd_jours" value=@t_dateencours asp-area="" asp-controller="Reservation" asp-action="CheckAdd">+ 1 Jour</button>
            </form>
    t_dateencours arrive null dans mon controller ...

    Help please ...

    Bien cordialement Denis

  2. #2
    Membre du Club
    Homme Profil pro
    Alternant
    Inscrit en
    Octobre 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 48
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    C'est normal, il faut que tu utilises asp-route-nomdetavariable="valeur" pour l'envoyer vers ton contrôleur

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Contrôleur :
    public Index(string Nom){
    }
     
    Bouton :
     
    <button name="boutonsous_jours" asp-route-Nom="@t_dateencours" asp-area="" asp-controller="Home" asp-action="Index">- 1 Jour</button>

  3. #3
    Membre habitué
    Homme Profil pro
    Passioné ...
    Inscrit en
    Juillet 2020
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Passioné ...
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2020
    Messages : 145
    Points : 158
    Points
    158
    Par défaut
    Bonjour et merci de ton intérêt pour mon problème.
    Navré mais quelle serait la syntaxe précise ? en effet plusieurs essais divers et variés dans cette approche me donnent la même erreur ...
    D'autre part, quand mon paramètre est fixé : par exemple value = "toto" , et bien toto arrive parfaitement au controller .... En fait je crains de ne pas correctement envoyer ma variable en faisant value = "@variable ou même value = @variable ...
    ça me prend bien la tête ...
    Bien cordialement Denis

  4. #4
    Membre du Club
    Homme Profil pro
    Alternant
    Inscrit en
    Octobre 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 48
    Points : 66
    Points
    66
    Par défaut
    Il faut faire attention au type de donnée que tu envoies, si tu envoies un DateTime tu dois récupérer un DateTime dans ton controleur et non un string par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    DateTime dt = DateTime.Now();
    <input type="submit" asp-route-value = "@dt" asp-action="Index" asp-controller="Home" />
     
    public Index(string value) {
     
    // ne fonctionnera pas
    }
     
    public Index (DateTime value) {
     // fonctionnera
    }

  5. #5
    Membre habitué
    Homme Profil pro
    Passioné ...
    Inscrit en
    Juillet 2020
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Passioné ...
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2020
    Messages : 145
    Points : 158
    Points
    158
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <button name="boutonadd_jours" asp-route-value = "@t_dateencours" asp-area="" asp-controller="Reservation" asp-action="CheckAdd">+ 1 Jour</button>
    Donne la même erreur ... il s'agit une string, et il est attendu une string comme paramètre du controller ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public IActionResult CheckAdd(string t_dateencours)
            {     
                //traitement
            }

  6. #6
    Membre du Club
    Homme Profil pro
    Alternant
    Inscrit en
    Octobre 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 48
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par DenisUrçay Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <button name="boutonadd_jours" asp-route-value = "@t_dateencours" asp-area="" asp-controller="Reservation" asp-action="CheckAdd">+ 1 Jour</button>
    Normal que tu ne récupère rien, parce que ta variable s'appelle t_dateencours en dessous en rouge et au dessus elle s'appelle value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public IActionResult CheckAdd(string t_dateencours)
            {     
                //traitement
            }

  7. #7
    Membre habitué
    Homme Profil pro
    Passioné ...
    Inscrit en
    Juillet 2020
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Passioné ...
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2020
    Messages : 145
    Points : 158
    Points
    158
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    asp-route-t_dateencours = @t_dateencours
    Ne fonctionne pas non plus ... ni avec des "" du reste ...

  8. #8
    Membre du Club
    Homme Profil pro
    Alternant
    Inscrit en
    Octobre 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 48
    Points : 66
    Points
    66
    Par défaut
    Faire voir le nom de la variable où tu initialises ton string dans ta vue

  9. #9
    Membre habitué
    Homme Profil pro
    Passioné ...
    Inscrit en
    Juillet 2020
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Passioné ...
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2020
    Messages : 145
    Points : 158
    Points
    158
    Par défaut
    La variable est déclarée et initialisée en chaine vide au départ.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string t_dateencours = "";
    Elle est utilisée ensuite pour afficher une date sous forme de string ... elle fonctionne parfaitement. Il n'y a que lorsque je veux la transmettre en value du bouton que ça déconne ...

  10. #10
    Membre habitué
    Homme Profil pro
    Passioné ...
    Inscrit en
    Juillet 2020
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Passioné ...
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2020
    Messages : 145
    Points : 158
    Points
    158
    Par défaut
    Bon ça y est j'ai trouvé ... ce n'est pas value qui est passé mais c'est name property ... donc c'est name qu'il faut entrer comme paramètre dans le controler .... boubourse que je suis ... Merci quand même ...

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

Discussions similaires

  1. Éviter que une variable soit évaluée.
    Par Chasseur d'étoiles dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/12/2007, 15h19
  2. Variable non évaluée dans la balise
    Par Mister Nono dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/11/2007, 15h12
  3. Variable dans value d'un input
    Par charliejo dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/03/2007, 18h29
  4. [MySQL] Php / Html Mettres des Variables PHP en Values sur des form
    Par Jimmy_S dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/03/2006, 11h18

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