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 :

Ajouter un label à partir du code [Débutant]


Sujet :

ASP.NET MVC

  1. #1
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut Ajouter un label à partir du code
    Bonjour,

    J'essaye de me lancer dans asp.net mvc depuis quelques semaines.
    Là je suis bloqué sur un truc qui me parait pourtant con, mais impossible de trouver une réponse sur le net.

    dans ma view (razor) je suis dans du code, je fais un for each, et je voudrais ajouter des labels
    je code en vb.net, en c# ca doit ressembler à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Label l = New Label;
    l.CssClass = "Folder";
    l.Text = d.Name;
    et là je ne vois pas comment lui dire d'ajouter le label en le transformant en code html


    après vous allez surement me dire que html.label est conseillé, et qu'on peut spécifier .cssclass et autre sur la même ligne, mais je trouve ca peu lisible

    au passage si quelqu'un a un tuto efficace pour passer du windows forms à mvc ca m'interresserait, j'ai à peu près compris le routage, mais le reste j'ai un peu de mal à suivre malgré pas mal de lecture (et le javascript c'est pas génial à écrire sans typage)

    Merci.
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    étonné de ne pas avoir de réponse, si j'essaye de faire un truc idiot, qu'on me le dise ^^

    au final j'ai écrit ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     @<label class="Folder">@d.Name</label>
    ce n'est pas encore ce que je veux réellement, car je voulais mettre ca dans un datalist mais vs est pas content si j'ouvre un <datalist> et que je le referme plus bas avec du code au milieu
    c'est pour au final avoir un label et une image par catégorie, le tout avec un agencement left to right avec passage à la ligne arrivé en bout de page
    après peut etre qu'on peut faire ca en css ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Salut,

    Je ne comprends pas trop ce qui te pose problème
    Pour afficher le contenu d'une liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @foreach (var item in Liste)
    {
        <label class="folder">@item.Name</label>
    }

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    au final j'ai écris ca oui

    c'est juste que par hasard j'en étais venu à écrire ce que j'avais au début, et je ne savais pas comment à partir de cette syntaxe intégrer le code html sur la page
    instancier un label n'étant pas l'afficher

    d'ailleurs j'aimerais toujours savoir comment faire
    ou alors cette syntaxe est liée aux webforms, auquel cas je me demande bien pourquoi vs me propose d'écrire ca alors que je lui ai dit que je faisais (tentais de faire plutot ^^) du mvc
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Je ne connais pas webforms mais je pense que l'objet Label n'est pas fait pour être utilisé dans un projet MVC. D'ailleurs, il y a aucun moyen de rendre l'objet Label dans la vue.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Salut,

    Citation Envoyé par Pol63 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Label l = New Label;
    l.CssClass = "Folder";
    l.Text = d.Name;
    Je confirme que c'est impossible en MVC. Cela est uniquement possible quand tu as du "code behind".

    La solution est bien celle proposée par Yonpo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @foreach (var item in Liste)
    {
        <label class="folder">@item.Name</label>
    }

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    par code behind tu veux dire du postback à la webforms ?

    je ne suis que débutant, mais j'ai cru comprendre que les webforms avaient beaucoup de retours vers le serveur, permettant de traiter des évènements, alors que depuis quelques années on préconise plutot du javascript pour éviter des aller retour
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    par code behind tu veux dire du postback à la webforms ?
    En WebForm on peut déclarer des contrôles coté serveur "label = new Label()". En mvc on envoi un modèle à la vue. Et c'est la vue que se charge de l'affichage de ton modèle.

    Citation Envoyé par Pol63 Voir le message
    mais j'ai cru comprendre que les webforms avaient beaucoup de retours vers le serveur, permettant de traiter des évènements
    C'est exactement ça.
    Par exemple sur une dropdownlist on pouvait dire que à chaque changement de valeur on déclenche un événement (les fameux "PostBack"). Et donc on faisait un retour serveur à chaque changement de valeur (avec la gestion de cycle de page asp.net)

    Citation Envoyé par Pol63 Voir le message
    alors que depuis quelques années on préconise plutot du javascript pour éviter des aller retour
    C'est exactement ça et MVC facilitent grandement la chose !

    Quelques précisions :
    En webform les contrôles créé par du code serveur donnait des id au balise html assez loufoque ce qui rendait le javascript assez difficile à écrire car il fallait connaitre l'id des contrôles...
    Grâce a MVC, les id sont simple et il est donc beaucoup plus facile d'écrire du javascript qui va gérer notre vue.

    PS : J'essai de faire rapide sur des explications qui mériteraient d'être beaucoup plus détaillés.

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ok, merci à vous deux

    je pense que sur le principe j'ai bien tout compris, mais en pratique c'est chaud d'apprendre html + javascript (je vais peut etre partir sur typescript) + css + razor et tous les helpers
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    je vais peut etre partir sur typescript
    J'avais prévu de te le dire mais je me suis perdu dans mes idées.
    Moi qui aime bien le code fortement typé j'ai eu du mal à comprendre javascript au début (paramètre optionnel... du mauvais type...)...
    Donc le jour ou je me suis penché sur TypeScript j'ai vraiment beaucoup aimé.
    Mais les pures javascriptBoy ne doivent pas du kiffer !

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    j'ai mieux apprécié typescript sur le peu que j'ai pu en écrire oui (j'ai cru voir qu'en javascript, faire une "classe" ca s'écrit avec function, en plus de paraitre illogique c'est illisible ^^)
    par contre il faut comprendre tout le modèle derrière quand même (document et autre)

    j'ai voulu essayé less me disant que ca serait le typescript de css, mais sans vraiment voir ce que ca apportait (pas plus d'intellisense de mémoire)
    surement prévu pour faire différents thèmes facilement ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Ajout de namespace à partir du code
    Par Nehmé dans le forum Eclipse C & C++
    Réponses: 9
    Dernier message: 07/12/2012, 17h00
  2. Réponses: 4
    Dernier message: 18/03/2011, 14h25
  3. [XSLT] Ajout du Ref XSL dans XML a partir du code JAVA
    Par rasenganguy dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 25/01/2010, 19h40
  4. Créer des labels à partir du code
    Par Syrrus dans le forum VBA Access
    Réponses: 5
    Dernier message: 05/11/2007, 15h24
  5. [Hibernate] Ajouter des tables à partir du code
    Par oughlad dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/05/2006, 11h17

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