c# - asp.net mvc 3 模型绑定(bind)下拉列表

标签 c# asp.net .net asp.net-mvc-3

我有一个带有表单的 View 。在该表单上,我有一些文本框和 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; }
}

必须从下拉列表中选择“问卷”和“工作”。 如何将下拉列表中的选定值绑定(bind)到我的“ApplicationData”中的对象? 为了完整起见,这是我提交表单的 Controller 操作。

    [HttpPost]
    public ActionResult NewApplication([Bind(Prefix="Application")]ApplicationData model)
    {
        var application = Mapper.Map<ApplicationData, Application>(model);
        _applicationRepository.Add(application);
        _session.Commit();
        return View();
    }

谢谢

最佳答案

@Html.DropdownListFor(
    x => x.Application.Questionnaire.ID,
    Model.Questionnaires
)

@Html.DropdownListFor(
    x => x.Application.Job.ID,
    Model.Jobs
)

关于c# - asp.net mvc 3 模型绑定(bind)下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631048/

相关文章:

c# - 使用中继器控件不会触发 ItemCommand 事件

c# - ASP.NET/HTML : HTML button's onClick property inside ASP. 网络 (.cs)

c# - 使用 System.Net.HttpListener 时有没有办法启用 SO_REUSEADDR 套接字选项?

c# - 如何阻止 GridView 中的特定列

c# - 如何在 C# 中实现正则表达式单例的常见行为?

c# - C# 中的线程和 TcpListener

c# - 无法从反序列化数据中检索键和值信息

c# - WPF 中的 MVVM - 如何提醒 ViewModel 模型中的变化......或者我应该吗?

c# - 林克 : Checking how many times the same value consecutively

c# - 替换列表中的字符串值