这是我的控制器代码
public static List<SelectListItem> GetDropDown()
{
JurisprudenceDBEntities _db = new JurisprudenceDBEntities();
var Lawyers = new List<tbl_Lawyer>();
using (_db)
{
Lawyers = _db.tbl_Lawyer.ToList();
}
List<SelectListItem> ls = new List<SelectListItem>();
foreach (var temp in Lawyers)
{
ls.Add(new SelectListItem() { Text = temp.Name, Value = temp.LawyerID.ToString() });
}
return ls;
}
这是视图中的控件
@Html.DropDownListFor(x => x.Lawyer)
控制器的名称是案例控制器。
答案 0 :(得分:0)
像这样:
@Html.DropDownListFor(x => x.Lawyer, Model.GetDropDown(), null, null)
这假设&#34; GetDropDown&#34;方法在你的模型中。如果没有,请改为引用相应的类。
MSDN文档显示了可以传递给DropDownListFor助手的所有可能选项:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.dropdownlistfor(v=vs.118).aspx
答案 1 :(得分:0)
我曾经使用像这样的代码来填充Razor的DropdownListFor。我只是首先在数据库中包含DataBase(DAL):
public static SelectList GetDropDown()
{
using (var db = new DAL.JurisprudenceDBEntities())
{
var query = db.Lawyers.Select(o => new { o.LawyerID, o.Name, ... } );
return new SelectList(query.OrderBy(o => o.Name).ToList(), "LawyerID", "Name");
}
}
在控件视图中,您只需放置一个Razor元素:
@Html.DropDownListFor(m => m.Lawyer, GetDropDown(), "--Select--", new { @class = "form-control" })