guys. I have these 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"));
}
}
Well, I want to create a number of DropDownLists equals the number of Courses into CandidateViewModel. Each dropdown should be as options the OptionViewModel list of CourseViewModel instance. I need my final result like this:
<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>
However, my .cshtml page has CandidateViewModel as Model, and I can’t create by “Html.DropDownListFor” trhu Razor. Can you help me, please?
Thank you so much, guys!
You can use a partial view that uses desired type.
Also you may have trouble binding this model. Please take a look at this post MVC Model Binding to List of Complex Objects