我有一个表格的视图。在那个表格上,我有一些文本框和2个下拉列表。
这是我的ViewModel。
public class NewApplicationViewModel
{
public ApplicationData Application { get; set; }
//Selectlists
public SelectList Questionnaires { get; set; }
public SelectList Jobs { get; set; }
}
ApplicatoinData类看起来像这样
public class ApplicationData
{
[HiddenInput(DisplayValue = false)]
public Guid Id { get; set; }
[Required]
public ApplicantData Applicant { get; set; }
[Required]
public QuestionnaireData Questionnaire { get; set; }
[Required]
public JobData Job { get; set; }
public string Pdf { get; set; }
}
必须从下拉列表中选择“调查问卷”和“工作”。 如何将下拉列表中的选定值绑定到“ApplicationData”中的对象? 为了完成,这是我的控制器动作来处理表单提交。
[HttpPost]
public ActionResult NewApplication([Bind(Prefix="Application")]ApplicationData model)
{
var application = Mapper.Map<ApplicationData, Application>(model);
_applicationRepository.Add(application);
_session.Commit();
return View();
}
由于
答案 0 :(得分:3)
@Html.DropdownListFor(
x => x.Application.Questionnaire.ID,
Model.Questionnaires
)
@Html.DropdownListFor(
x => x.Application.Job.ID,
Model.Jobs
)
答案 1 :(得分:1)
请参阅以下链接以获取绑定下拉列表。这对你很有帮助。
ASP.NET MVC - drop down list selection - partial views and model binding
Can't get selected drop down value to bind to view model property
如果您不想在模型中为项目列表创建属性,则可以将其存储在ViewData或ViewBag中。请在下面找到示例代码。
<%= Html.DropDownList("Category.CategoryId", new SelectList((
IEnumerable<ProductManagement.Models.Category>)ViewData["CategoryList"],
"CategoryId", "CategoryName"))%>