ダイナミックモデルを使用して複数のモデルをビューに渡していますが、モデルの表示方法がわかりません。asp.netで複数のビューを表示
ダイナミックモデルではどうすればよいですか?
情報が不足している場合はお気軽にお問い合わせください。あなたのビューで
ダイナミックモデルを使用して複数のモデルをビューに渡していますが、モデルの表示方法がわかりません。asp.netで複数のビューを表示
ダイナミックモデルではどうすればよいですか?
情報が不足している場合はお気軽にお問い合わせください。あなたのビューで
は、この
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>
そして、あなたのモデルを表示する最良の方法は、各コレクションの部分図を使用することです。
"@ Html.DisplayFor(m => m [i] .Name)"を "@ Html.DisplayFor(m => m.listofteachers [i] .Name)"に変更する必要があります。 –
ありがとうございます。かみそりのコードにいくつかの改善があります。しかし、私はモデルデザインに焦点を当てました。 – MNF
public ActionResult Index()
{
ViewBag.Message = "Welcome to my demo!";
dynamic mymodel = new ExpandoObject();
mymodel.Teachers = GetTeachers();
mymodel.Students = GetStudents();
return View(mymodel);
}
@using YourProjNameSpace;
@model dynamic
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<p><b>Teacher List</b></p>
<table>
<tr>
<th>Id</th>
<th>Code</th>
<th>Name</th>
</tr>
@foreach (Teacher teacher in Model.Teachers)
{
<tr>
<td>@teacher.TeacherId</td>
<td>@teacher.Code</td>
<td>@teacher.Name</td>
</tr>
}
</table>
<p><b>Student List</b></p>
<table>
<tr>
<th>Id</th>
<th>Code</th>
<th>Name</th>
<th>Enrollment No</th>
</tr>
@foreach (Student student in Model.Students)
{
<tr>
<td>@student.StudentId</td>
<td>@student.Code</td>
<td>@student.Name</td>
<td>@student.EnrollmentNo</td>
</tr>
}
</table>
モデルから正確に表示したいのは何ですか?可能であればモデルコードを投稿することができますか – Izzy
私はそれに先生の名前のボタンを表示しています。教師はリストです。教師モデルは、int Id、string Name、int Ageから構成されます。 –
_dynamic models_はどういう意味ですか? –