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 :

comment initialise listbox


Sujet :

ASP.NET MVC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut comment initialise listbox
    Salut,

    J'ai un contact qui peut avoir plusieurs catégories, j'aimerai rajouter une listbox avec toutes les catégories disponible mais je débute en MVC.

    Voici mon controller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public ActionResult Edit(long id = 0)
            {
                Contact contact = db.Contact.Find(id);
                if (contact == null)
                {
                    return HttpNotFound();
                }
                ViewBag.SocietyID = new SelectList(db.Society, "ID", "Name", contact.SocietyID);
                return View(contact);
            }
    1) Il faut récupérer une list de catégorie ici?

    Ici ma classe Contact
    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
    public partial class Contact
        {
            public Contact()
            {
                this.Comment = new HashSet<Comment>();
                this.Account = new HashSet<Account>();
            }
     
            public long ID { get; set; }
            public string Email { get; set; }
            public string Password { get; set; }
            public string Firstname { get; set; }
            public string Name { get; set; }
            public string Address { get; set; }
            public string Tel { get; set; }
            public string GSM { get; set; }
            public Nullable<bool> IsAdmin { get; set; }
            public string ZipCode { get; set; }
            public Nullable<long> SocietyID { get; set; }
     
            public virtual ICollection<Comment> Comment { get; set; }
            public virtual Society Society { get; set; }
            public virtual ICollection<Category> Category{ get; set; }
        }

    2) Que faut-il mettre dans la vue (@Html.ListBox())?

    Dans ma vue j'ai ceci (@model SocialLink.Models.Contact)
    Est ce que je pourrai rajouter d'autres classes?

    Merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2009
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    Salut,

    1) Il faut récupérer une list de catégorie ici?
    La liste de catégories dans ton objet contact lui appartient, si tu veux toutes les catégories il faut que tu interroges la table de catégorie.

    2) Que faut-il mettre dans la vue (@Html.ListBox())?
    Tu peux faire quelque chose de ce genre:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    // Model
    public class HomeModel
        {
            public HomeModel()
            {
                Categories = new List<Category>
                {
                    new Category{ Id = 1, Name = "ABC"},
                    new Category{ Id = 2, Name = "DEF"},
                };
     
                SelectListCategories = new SelectList(Categories, "Id", "Name", 2);
            }
            private List<Category> Categories { get; set; }
            public SelectList SelectListCategories { get; set; }
        }
     
    // Exemple de catégorie
        public class Category
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
     
    // Controller
    public class HomeController : Controller
        {
            public ActionResult Index()
            {
                HomeModel model = new HomeModel();
                return View(model);
            }
        }
     
    // View
    @model MvcApplication2.Models.HomeModel
    @{
        ViewBag.Title = "Index";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
     
    <!--Liste Box-->
    @Html.ListBox("Categories", Model.SelectListCategories)
    Bonne continuation.

    Nico

Discussions similaires

  1. [Interface]comment initialiser une combobox?
    Par Kenji dans le forum NetBeans
    Réponses: 4
    Dernier message: 22/10/2010, 20h47
  2. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  3. Comment initialiser une liste de composants avec une boucle ?
    Par EricSid dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/04/2005, 18h46
  4. Comment initialiser une ChildFrame ???
    Par loupdeau dans le forum MFC
    Réponses: 14
    Dernier message: 22/03/2005, 13h28
  5. Comment initialiser un vector à sa création ?
    Par Clad3 dans le forum SL & STL
    Réponses: 7
    Dernier message: 10/12/2004, 15h01

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