我想在我的网站的所有页面中包含一个下拉列表.我假设一个好的地方把这个逻辑放在布局页面(_layout.cshtml)中.如果用户更改年份,我想更改我的年会(ModelBinder)也要更改.这对于ASP.NET Web表单来说非常容易,但在MVC中几乎不可能做到.我尝试了一个没有运气的局部视图.有人有什么想法吗?
我是mvc的新手.所以我用这种方式填充下拉列表
public ActionResult New()
{
var countryQuery = (from c in db.Customers
orderby c.Country ascending
select c.Country).Distinct();
List<SelectListItem> countryList = new List<SelectListItem>();
string defaultCountry = "USA";
foreach(var item in countryQuery)
{
countryList.Add(new SelectListItem() {
Text = item,
Value = item,
Selected=(item == defaultCountry ? true : false) });
}
ViewBag.Country = countryList;
ViewBag.Country = "UK";
return View();
}
@Html.DropDownList("Country", ViewBag.Countries as List<SelectListItem>)
Run Code Online (Sandbox Code Playgroud)
我想知道如何从模型填充下拉列表并设置默认值.任何示例代码都会有很大的帮助.谢谢