次の GET および POST アクション メソッドがあります。
public ActionResult Create(int visitid)
{
VisitLabResult vlr = new VisitLabResult();
vlr.DateTaken = DateTime.Now;
ViewBag.LabTestID = new SelectList(repository.FindAllLabTest(), "LabTestID", "Description");
return View();
}
//
// POST: /VisitLabResult/Create
[HttpPost]
public ActionResult Create(VisitLabResult visitlabresult, int visitid)
{
try
{
if (ModelState.IsValid)
{
visitlabresult.VisitID = visitid;
repository.AddVisitLabResult(visitlabresult);
repository.Save();
return RedirectToAction("Edit", "Visit", new { id = visitid });
}
}
catch (DbUpdateException) {
ModelState.AddModelError(string.Empty, "The Same test Type might have been already created,, go back to the Visit page to see the avilalbe Lab Tests");
}
ViewBag.LabTestID = new SelectList(repository.FindAllLabTest(), "LabTestID", "Description", visitlabresult.LabTestID);
return View(visitlabresult);
}
現在、ビューには関連付けられたフィールドが表示され、1 つのオブジェクトのみが作成されますが、1 つのオブジェクトの代わりにオブジェクトのリストを定義して、たとえば 10 個のオブジェクトを同じ「作成」要求ですばやく追加できるようにする方法を教えてください。 私の作成ビューは次のようになります:-
@model Medical.Models.VisitLabResult
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@section scripts{
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="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>VisitLabResult</legend>
<div class="editor-label">
@Html.LabelFor(model => model.LabTestID, "LabTest")
</div>
<div class="editor-field">
@Html.DropDownList("LabTestID", String.Empty)