【发布时间】:2018-04-27 15:29:56
【问题描述】:
我有一个包含一些属性的视图,并想为其创建一个下拉框。到目前为止,我已经在我的控制器上创建了一个 selectListItems 列表并为其添加了值,目前,它可以工作并在下拉列表中显示项目。但是,我的问题是它根本没有链接到我在视图模型中拥有的属性。我该如何修改?
控制器:
List<SelectListItem> jobs = new List<SelectListItem>();
SelectListItem job1 = new SelectListItem() { Text = "Email", Value = "1", Selected = false };
SelectListItem job2 = new SelectListItem() { Text = "OtherJob", Value = "2", Selected = false };
SelectListItem job3 = new SelectListItem() { Text = "OtherJob2", Value = "3", Selected = false };
SelectListItem job4 = new SelectListItem() { Text = "OtherJob3", Value = "4", Selected = false };
SelectListItem job5 = new SelectListItem() { Text = "OtherJob4", Value = "5", Selected = false };
SelectListItem job6 = new SelectListItem() { Text = "OtherJob5", Value = "6", Selected = false };
SelectListItem job7 = new SelectListItem() { Text = "OtherJob6", Value = "7", Selected = false };
SelectListItem job8 = new SelectListItem() { Text = "OtherJob7", Value = "8", Selected = false };
jobs.Add(job1);
jobs.Add(job2);
jobs.Add(job3);
jobs.Add(job4);
jobs.Add(job5);
jobs.Add(job6);
jobs.Add(job7);
jobs.Add(job8);
ViewBag.jobs = jobs;
return View();
视图模型:
public object Job { get; set; }
查看:
@using (Html.BeginForm(FormMethod.Post))
{
<center>
<div class="form-group">
@Html.DropDownList("jobs", (IEnumerable <SelectListItem>)ViewBag.jobs)
</div>
</center>
【问题讨论】:
-
@Html.DropDownListFor(m => m.Job, (IEnumerable<SelectListItem>)ViewBag.jobs)- 和Job的类型应该是int,而不是object
标签: asp.net-mvc object razor drop-down-menu viewmodel