MVC下拉框Html.DropDownList 和DropDownListFor 的常用方法

一、非强类型:

Controller:

ViewData["AreId"] = from a in Table

select new SelectListItem {

Text=a.AreaName,

Value=a.AreaId.ToString()

};

View:

@Html.DropDownList("AreId")

还可以给其加上一个默认选项:@Html.DropDownList("AreId", "请选择");

二、强类型:

DropDownListFor常用的是两个参数的重载,第一参数是生成的select的名称,第二个参数是数据,用于将绑定数据源至DropDownListFor

Modle:

public class SettingsViewModel

{

Repository rp =new Repository();

public string ListName { get; set; }

public IEnumerable<SelectListItem> GetSelectList()

{

var selectList = Table.Select(a => new SelectListItem {

Text=a.AreaName,

Value=a.AreaId.ToString()

});

return selectList;

}

}

Controller:

public ActionResult Index()

{

return View(new SettingsViewModel());

}

View:

@model Mvc3Applicationtest2.Models.SettingsViewModel

@Html.DropDownListFor(m=>m.ListName,Model.GetSelectList(),"请选择")