C#MVCの部分/ビュー/コントローラ間でデータ/モデルをどのように転送できますか? _StudentList Partial.cshtml
モデルをレイザービュー(パーシャルなど)に渡す
@model IEnumerable<MVC_BasicTutorials.Models.Student>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.StudentName)
</th>
<th>
@Html.DisplayNameFor(model => model.Age)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.StudentName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Age)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.StudentId }) |
@Html.ActionLink("Details", "Details", new { id=item.StudentId }) |
@Html.ActionLink("Delete", "Delete", new { id = item.StudentId })
</td>
</tr>
}
</table>
StudentController
Model
下の赤い線で、
私はthis例を複製しようとしているが、@model IEnumerable<MVC_BasicTutorials.Models.Student>
は私にエラーを与えている:
public class StudentController : Controller
{
public class Student
{
public int StudentId { get; set; }
public string StudentName { get; set; }
public int Age { get; set; }
}
IList<Student> students;
public StudentController()
{
students = new List<Student>{
new Student() { StudentId = 1, StudentName = "John", Age = 18 } ,
new Student() { StudentId = 2, StudentName = "Steve", Age = 21 } ,
new Student() { StudentId = 3, StudentName = "Bill", Age = 25 } ,
new Student() { StudentId = 4, StudentName = "Ram" , Age = 20 } ,
new Student() { StudentId = 5, StudentName = "Ron" , Age = 31 } ,
new Student() { StudentId = 6, StudentName = "Chris", Age = 17 } ,
new Student() { StudentId = 7, StudentName = "Rob",Age = 19 } ,
};
}
// GET: Student
public ActionResult Index()
{
return View(students);
}
}
Index.cshtml
:
@model IEnumerable<MVC_BasicTutorials.Models.Student>
<h3>Student List</h3>
<p>
@Html.ActionLink("Create New", "Create")
</p>
@{
Html.RenderPartial("_StudentList", Model);
}
私はこのhttps://stackoverflow.com/a/11326470/2441637を読んで、それは私がアプリを実行する場合、私はNullReferenceException: Object reference not set to an instance of an object.
'MVC_BasicTutorials.Models'の名前空間に' Student'というクラスがありますか? – JamieD77
'MVC_BasicTutorials.Models'はまったくありません。どこにあるのかわからず、StudentクラスがStudent Controllerになってからの方法は –
です。パスはおそらく' {SolutionName} .Controllers.StudentController.Student'です。 – JamieD77