我有一些实体要填写到单个表单上的几个下拉列表中。这是最好的方法。对于单个视图中的多个模型,我创建了一个视图模型并将实体放入其中,但我如何才能恢复数据库中的列表,例如实体“网络”并用“名称”和“网络 ID”填充下拉列表?
问问题
3341 次
3 回答
3
首先创建模型:
public class Data
{
public List<tbl_Dept> lstDepatrment;
public List<tbl_employees> lstEmployee;
//other
}
然后只需创建一个视图
@model MVCApp.Models.Data
@{
var categoryList = Model.lstDepatrment.Select(cl => new SelectListItem
{
Value = cl.Dept_ID.ToString(),
Text = cl.Dept_Description == null ? String.Empty : cl.Dept_Description
});
//list for other Drop Down
}
@(Html.DropDownList("sampleDropdown", categoryList, "-----Select-----"))
于 2013-09-20T07:01:54.457 回答
1
您可以执行以下操作:
设计你的模型:
准备Select List
尽可能多的下拉菜单
例如:
Public class ModelName
{
...// Properties
public IEnumerable<SelectListItem> ListName1 { get; set; }
public IEnumerable<SelectListItem> ListName2 { get; set; }
public IEnumerable<SelectListItem> NetWorkList { get; set; }
... //etc
}
准备 List 并将其绑定到 Controller 中的模型:
public ActionResult Index(ModelName model)
{
var networks = // Your network List
model.NetWorkList = networks.Select(x=> new SelectListItem() {
Text = x.Name,
Value = x.NetworkID
});
..// Same as above prepare the list for other dropdowns
return View(model);
}
然后在您的视图中准备您的下拉列表,如下所示:
@Html.DropDownListFor(m => Model.NetworkID,Model.NetWorkList)
于 2013-09-16T06:49:23.740 回答
0
那么在这种情况下,您可以将所有模型列表数据保存在 java 脚本模型中的某个位置,然后使用 JQuery 您可以将所有下拉控件与相同的模型列表绑定。
或者,您可以使用 Ajax 获取该数据并在 java 脚本中绑定这些下拉列表并检索该值,而不是从控制器中抛出多个数据列表。
于 2013-09-18T04:31:12.730 回答