Voici ma liste déroulante:
@Html.DropDownListFor(m => m.ReportType, new SelectList(ViewBag.DateRange as List, "Value", "Text"), new { @class = "w150" })
Je ne peux pas trouver où mettre la valeur par défaut dedans? Ma valeur par défaut serait ‘ThisMonthToDate’
Aucune suggestion?
Si vous avez un modèle lié à votre vue, je vous recommande vivement d’éviter d’utiliser ViewBag
et d’append une Property
à votre modèle / modèle de vue pour contenir les éléments de la liste de sélection. Ainsi, votre modèle / modèle de vue ressemblera à ceci
public class Report { //Other Existing properties also public IEnumerable ReportTypes{ get; set; } public ssortingng SelectedReportType { get; set; } }
Ensuite, dans votre méthode d’action GET, vous pouvez définir la valeur, si vous souhaitez définir une option de sélection comme celle sélectionnée par défaut, comme ceci
public ActionResult EditReport() { var report=new Report(); //The below code is hardcoded for demo. you mat replace with DB data. report.ReportTypes= new[] { new SelectListItem { Value = "1", Text = "Type1" }, new SelectListItem { Value = "2", Text = "Type2" }, new SelectListItem { Value = "3", Text = "Type3" } }; //Now let's set the default one's value objProduct.SelectedReportType= "2"; return View(report); }
et dans votre vue fortement typée,
@Html.DropDownListFor(x => x.SelectedReportType, new SelectList(Model.ReportTypes, "Value", "Text"), "Select Type..")
Le balisage HTML généré par le code ci-dessus aura le HTML sélectionné avec l’option de valeur 2 selected
.