如何使用mymodel对象在视图下拉列表中进行检索
List<object> mymodel = new List<object>();
mymodel.Add(db.Events.ToList());
mymodel.Add(db.Purposes.ToList());
return View(mymodel);
答案 0 :(得分:0)
我建议您为自己的观点创建一个模型,并在途中实施其他一些最佳实践。解决方案的各个方面如下所示:
在模型文件夹中为视图创建模型,如下所示:
public class MyViewModelClass
{
public IEnumerable<SelectListItem> Events { get; set; }
public IEnumerable<SelectListItem> Purposes { get; set; }
}
在控制器中,填充视图的模型并将其返回到视图,如下所示。请注意,您应该为下拉列表选择两个属性。 “值”将在与下拉列表中的每个项目相关联的场景值之后,“文本”将显示给最终用户。另请注意,我正在返回SelectListItem,然后我可以使用下拉列表进行绑定。
MyViewModelClass mymodel = new MyViewModelClass();
mymodel.Events = db.Events.ToList().Select(x =>
new SelectListItem
{
Value = x.EventID.ToString(),
Text = x.EventName
});
mymodel.Purposes = db.Purposes.ToList().Select(x =>
new SelectListItem
{
Value = x.PurposeID.ToString(),
Text = x.PurposeName
});
return View(mymodel);
现在是最后一部分,您的查看。你需要在这里实现三件事:
完整视图如下所示:事件下拉列表:
@model MyViewModelClass
@{
ViewBag.Title = "Home Page";
}
<div>
@using (Html.BeginForm())
{
@Html.DropDownListFor(m=>m.Events,Model.Events,"--select--")
}
</div>