Создайте свою модель как этот
public class ExpandoObject
{
public List<Teacher> ListTeachers {get; set;}
public List<Student> ListStudent { get; set;}
}
Тогда ваши действия
public ActionResult DisplayModel()
{
ExpandoObject yourModel = new ExpandoObject();
List<Teacher> listofteachers = dbh.GetTeachers();
List<student> listofstudents = dbh.Students();
mymodels.ListTeachers = listofteachers;
mymodels.ListStudents = listofstudents;
return View("ModelView", yourModel);
}
и ваше мнение должно быть, как это
@model ExpandoObject
<head>
<link href="~/Content/test.css" rel="stylesheet" />
</head>
<body>
@using (Html.BeginForm("DisplayModel", "Home"))
{
<table>
@for (int i = 0; i < Model.ListTeachers.Count(); i++)
{
<tr class="donatenow">
@Html.HiddenFor(m => m[i].ID)
@Html.HiddenFor(m => m[i].Name)
@Html.HiddenFor(m => m[i].Age)
<td>
<input type="radio" id="@i" name="amount" onclick="javascript: this.form.submit();" />
<label for="@i">@Html.DisplayFor(m => m.ListTeachers[i].Name)</label>
</td>
</tr>
}
</table>
<table>
@for (int i = 0; i < Model.ListStudents.Count(); i++)
{
<tr class="donatenow">
@Html.HiddenFor(m => m[i].ID)
@Html.HiddenFor(m => m[i].Name)
@Html.HiddenFor(m => m[i].Age)
<td>
<input type="radio" id="@i" name="amount" onclick="javascript: this.form.submit();" />
<label for="@i">@Html.DisplayFor(m => m.ListStudents[i].Name)</label>
</td>
</tr>
}
</table>
}
</body>
И лучший способ сравнить вашу модель с частичным представлением для каждой коллекции.
Что именно вы хотите отображать на своей модели? и можете ли вы разместить свой код модели, если это возможно, – Izzy
Я показываю кнопки с именами учителей на нем. Учителя - это список. Модель преподавателя состоит из int Id, string Name и int Age. –
Что вы имеете в виду _dynamic models_? –