これは私のドロップダウンリストです:
@Html.DropDownListFor(m => m.ReportType, new SelectList(ViewBag.DateRange as List<SelectListItem>, "Value", "Text"), new { @class = "w150" })
デフォルト値をどこに入れるかわかりませんか?私のデフォルト値は「ThisMonthToDate」です
助言がありますか?
モデルがビューにバインドされている場合は、使用を避けViewBag
、代わりにProperty
モデル/ビューモデルに追加して、選択リスト項目を保持することを強くお勧めします。したがって、モデル/ビューモデルは次のようになります
public class Report
{
//Other Existing properties also
public IEnumerable<SelectListItem> ReportTypes{ get; set; }
public string SelectedReportType { get; set; }
}
次に、GET アクション メソッドで値を設定できます。このように、1 つの選択オプションをデフォルトの選択オプションとして設定する場合は、
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);
}
そして、強く型付けされたビューで、
@Html.DropDownListFor(x => x.SelectedReportType,
new SelectList(Model.ReportTypes, "Value", "Text"), "Select Type..")
上記のコードによって生成された HTML マークアップには、値 2 のオプションをselected
1 つとして HTML 選択が含まれます。