【问题标题】:asp.net MVC set default value for dropdown listasp.net MVC 为下拉列表设置默认值
【发布时间】:2016-11-16 04:14:30
【问题描述】:

我正在显示国家/地区的下拉列表,该列表由控制器中的数据库调用填充。在页面加载时,我希望所选值默认为“美国”。我该怎么做?

视图中的代码:

<div class="form-group">
            @Html.LabelFor(m => m.Country)
            @Html.DropDownListFor(m => m.Country, new SelectList(Model.CountriesDDL, "CountryCode", "Country"), "--Select--", new { @class = "form-control" })
</div>

【问题讨论】:

  • 你有几种方法可以解决这个问题。您始终可以在控制器中创建列表并在那里选择默认项目。您可以将 SelectedListItems 列表放入模型或 ViewBag 中。您始终可以使用 Jquery,并在加载窗口时根据您的条件选择一个项目。

标签: c# asp.net asp.net-mvc


【解决方案1】:

在您的 GET 操作中,您可以将 Country 属性的值设置为您的视图模型的美国(或您要设置为默认值的任何国家/地区)的 CountryCode

public ActionResult Show()
{
  var vm = new YourViewModel();
  vm.CountriesDDL = GetCountriesFromSomeWhere();
  vm.Country="United States";
  return View(vm);
}

假设Country 是字符串类型

【讨论】:

  • 假设下拉列表在表单提交页面上。如果用户从下拉列表中选择“加拿大”并提交表单,但表单无效,会发生什么情况。下拉列表是否仍会显示“加拿大”,还是会默认返回“美国”?
  • 当你更改为加拿大时,收到表单数据时,HttpPost中的Country会更新为加拿大。
猜你喜欢
  • 1970-01-01
  • 2021-09-03
  • 2022-01-17
  • 2020-07-06
  • 2013-10-23
  • 2013-11-23
  • 2022-11-21
  • 1970-01-01
  • 2014-07-28
相关资源
最近更新 更多