Comment mettre une valeur par défaut dans un DropDownListFor?

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 .