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 :

[MVC3] Récupération du nom de la propriété dans un EditorFor()


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Par défaut [MVC3] Récupération du nom de la propriété dans un EditorFor()
    Salut,

    J'ai effectué quelques recherches sans grand succès, je me décide donc à faire un p'tit post si quelqu'un connait la solutions.

    J'ai un formulaire classique MVC, pour une des champs de mon Model (Civilité), je créé un Template personnalisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="editor-label">
        @Html.LabelFor(model => model.Civilite)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Civilite, "_RadioList")
        @Html.ValidationMessageFor(model => model.Civilite)
    </div>
    Pour mettre un peu dans le contexte, la Civilite est une Enum, le template _RadioList.cshtml, me créer une liste de radiobutton avec un radio par champ de mon Enum. Le but c'est de rendre le template assez générique pour l'utiliser sur plusieurs type d'enum.

    Maintenant, dans ce Template, je souhaiterai pouvoir récupérer d'une manière ou d'une autre, le nom de la propriété qui alimente le Model, donc en gros une string contenant "Civilite".

    Pour l'instant, mon dernier recours et de passer "Civilite" dans le ViewBag... Mais c'est pas top, EditorFor permet de faire un selector sur la propriété, c'est pas pour ensuite, renseigner en plus cette meme propriété du model dans le viewbag...


    Je ne sais pas si je suis clair, alors l'hésitez pas à me demander de l'être d'avantage soi nécessaire

    Merci !

  2. #2
    Membre émérite Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Par défaut
    Je pense qu'il faut utiliser les attributs et décorer la propriété civilite

    System.ComponentModel.DataAnnotations

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Customer
    {
      [Display(Name = "Email Address", 
         Description = "An email address is needed to provide notifications about the order.")]
      public string EmailAddress { get; set; }
     
      [Display(ResourceType=typeof(DisplayResources), Name="LName", Description="LNameDescription")]
      public string LastName { get; set; }
    }
    Dans le template il faut lire cet attribut par réflexion sur la propriété puis utiliser GetCustomAttributes.

Discussions similaires

  1. récupération du nom d'un champs dans une boucle for
    Par tarmo57 dans le forum Débuter
    Réponses: 1
    Dernier message: 07/09/2012, 07h41
  2. Récupération du noms des fichiers dans un répertoire
    Par tulipelover dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 03/08/2008, 21h47
  3. récupération des noms de fichiers existant dans un répertoire
    Par tangjuncn dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/11/2007, 20h12
  4. Récupération du nom de colonne dans une requête
    Par Devlop++ dans le forum Access
    Réponses: 4
    Dernier message: 27/07/2007, 16h48
  5. Réponses: 10
    Dernier message: 15/05/2007, 14h24

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