繁体   English   中英

如何创建具有几种复杂类型的动态DropDownList? ASP.NET MVC 3

[英]How to create dynamic DropDownList with several complex types? ASP.NET MVC 3

伙计们 我有这些ViewModels:

public class CandidateViewModel
{
    public string Name { get; set; }
    public IList<CourseViewModel> Courses { get; set; }
    //...
}

public class OptionViewModel
{
    public int Number { get; set; }
    public string Description { get; set; }
    //...
}

public class CourseViewModel
{
    public string Name { get; set; }
    public string SelectedCourse { get; set; }
    public IList<OptionViewModel> Options { get; set; }

    public CourseViewModel(int options)
    {
        Options.Add(new OptionViewModel(-1, string.Empty));
        for (int count = 1; count <= options; ++count)
            Options.Add(new OptionViewModel(
                count, string.Format("Option {0}", count)));

        Options.Add(new OptionViewModel(0, "Don't want it"));
    }
}

好吧,我想创建一个DropDownLists数量等于CandidateViewModel中的课程数量。 每个下拉列表都应作为CourseViewModel实例的OptionViewModel列表的选项。 我需要这样的最终结果:

<select name="Course1">
    <option value="-1"></option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="0">Don't want it</option>
</select>

<select name="Course2">
    <option value="-1"></option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="0">Don't want it</option>
</select>

但是,我的.cshtml页面具有CandidateViewModel作为模型,并且无法通过trh Razor创建“ Html.DropDownListFor”。 你能帮我吗?

十分感谢大家!

您可以使用使用所需类型的局部视图

同样,您可能在绑定此模型时遇到麻烦。 请看一下这篇文章MVC模型绑定到复杂对象列表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM