0

伙计们。我有这些 ViewModel:

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的数量等于Course的数量进入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 作为模型,我无法通过“Html.DropDownListFor”trhu Razor 创建。你能帮我吗?

十分感谢大家!

4

1 回答 1

0

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

此外,您可能无法绑定此模型。请看这篇文章MVC Model Binding to List of Complex Objects

于 2012-11-07T16:11:35.333 回答