bonjour,
puis-je savoir comment je peux alimenter une "html.dropdownlist" ,
j'ai deja une table qui contient la liste des elements,
je voudrais connaitre l'action a mettre en place pour ça
merci
bonjour,
puis-je savoir comment je peux alimenter une "html.dropdownlist" ,
j'ai deja une table qui contient la liste des elements,
je voudrais connaitre l'action a mettre en place pour ça
merci
essaye ca
Public Combo As New List(Of SelectListItem)()
au niveau de l'action
For Each item As Pays In PaysDB.GetList
Combo.Add(New SelectListItem() With {.Text = item.Nom, .Value = item.Code})
Next
ViewData("Pays") = Combo
coté View :
<td><%= Html.DropDownList("Pays")%></td>
Salut,
Le plus simple:
dans ton viewmodel:
Dans ta vue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public List<SelectListItem> Items { get; set; } public int SelectedItem { get; set; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part <%= Html.DropDownList("SelectedItem", Model.Items)%>
j'ai pas bien compris, ou je doit mettre le contenue de ma table qui contien les element ,pour alimenter la dropdownlist!!
genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var mission=(from c in entity.mission select c.lib_mission);
je vien de tester ça aussi, mais j'ai toujours un message d'erreur qui bloque tout,
coté action:
la ou les modification vont etre faite:
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 public ActionResult Edit(int id) { var edit_Annonce = (from c in entity.annonce where c.idannonce == id select c).FirstOrDefault(); // c'est ce qui suit qui alimente normalement la drop dwon list ViewData["mission"] = new SelectList((from c in entity.mission select c).ToList(), "lib_mission","idmission"); return View(edit_Annonce); }
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
45
46
47
48 [HttpPost] public ActionResult Edit(FormCollection col) { try { annonce edit_Annonce = new annonce(); edit_Annonce.idannonce = Convert.ToInt32( col[0]); edit_Annonce.identreprise = Convert.ToInt32(col[1]); edit_Annonce.titre=col[2]; edit_Annonce.fonction = col[3]; edit_Annonce.descriptionposte = col[5]; edit_Annonce.profilrech = col[6]; edit_Annonce.typecontrat = col[7]; edit_Annonce.salaire = col[8]; edit_Annonce.contact = col[9]; edit_Annonce.date_annonce = Convert.ToDateTime(col[10]); //ici j'essaye de recuperer la valeur retourner par la dropdownlist pour la enristrer string miss = col[4]; var original_edit = (from c in entity.annonce where c.idannonce == edit_Annonce.idannonce select c).FirstOrDefault(); // je sauvegarde edit_Annonce.typeactivite = miss; entity.ApplyPropertyChanges(original_edit.EntityKey.EntitySetName, edit_Annonce); entity.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }
coté view :
message d'erreur en piece jointe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <td><% var mission = ViewData["mission"] as IEnumerable<SelectListItem>; Response.Write(Html.DropDownList("mission", mission));%>
Re,
Bon, j'ai parlé d'objet de type
Toi, tu créé un objet de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part public List<SelectListItem>
Et il se trouve que tu as une erreur de cast...
Code : Sélectionner tout - Visualiser dans une fenêtre à part new SelectList();
Je te donne un indice: il faut renvoyer un objet de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<SelectListItem>
Un moyen de remplir ta liste:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 List<SelectListItem> list = new List<SelectListItem>(); foreach (var item in collection) { list.Add(new SelectListItem() { Text = item.Label }); }
enfin c'est reglé ouff !!
alors c'etait si simple ,
je vous montre comment j'ai fais ,
coté controlleur voila :
et coté vue j'ai mis ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var l = (from c in entity.mission select c.lib_mission).ToList(); ViewData["mission"] = new SelectList(l, "lib_mission");
je precise que "mission" c'est le nom de ma table qui contien les element et "lib_mission" c'est le champs qui contient les element ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <%=Html.DropDownList("mission", ViewData["mission"] as SelectList)%>
et voili voila
ca marche comme sur des roulette
et encore plus si vous voullez pas vous cassé la tete avec la creation d'une table et y mettre les element,
par ex si vous avez que deux ou 3 element ben vous faite ça sur la vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <%=Html.DropDownList("TitleDropDown",new SelectList(new [] { "MR", "MRS", "MISS", "MS", "SIR", "REV", "DR"}))%>
=====> "TitleDropDown" : c'est juste un titre vous pouvez mettre ce que vous voulez
et entre les accolade vous mettez les element desirer
j'espere que ça aidera plein de monde
bon courage
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager