私はmv3を使用しています。作成ボタンをクリックするとデータがデータベースに送信され、ボタンの下のリストが更新される必要があるアプリケーションを作成しています。
部分ビューも試しましたが、エラーが表示されます:
ディクショナリに渡されたモデル アイテムのタイプは 'System.Collections.Generic.List`1[MvcStudent.stu]' ですが、このディクショナリにはタイプ 'MvcStudent.Models.StuModel' のモデル アイテムが必要です。
以下にコードをリストしています plz help
StudentController.cs
public class StudentController : Controller
{
//
// GET: /Student/
stdataDataContext stdb = new stdataDataContext();
public ActionResult Index()
{
return View();
}
public ActionResult create()
{
return View(stdb.stus.ToList());
}
[HttpPost]
public ActionResult create(MvcStudent.Models.StuModel stu)
{
stu student = new stu();
student.name = stu.name;
student.address = stu.addr;
stdb.stus.InsertOnSubmit(student);
stdb.SubmitChanges();
return View();
}
}
_Create.cshtml
@model MvcStudent.Models.StuModel
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" typ
e="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>StuModel</legend>
<div class="editor-label">
@Html.LabelFor(model => model.name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.name)
@Html.ValidationMessageFor(model => model.name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.addr)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.addr)
@Html.ValidationMessageFor(model => model.addr)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.gen)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.gen)
@Html.ValidationMessageFor(model => model.gen)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
@Html.Partial("_PartialGrid");
_PartialGrid.cshtml
@model IEnumerable<MvcStudent.Models.StuModel>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
name
</th>
<th>
addr
</th>
<th>
gen
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.name)
</td>
<td>
@Html.DisplayFor(modelItem => item.addr)
</td>
<td>
@Html.DisplayFor(modelItem => item.gen)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
</table>