1 対多の関係 ( LabTest & LabTestDetail
) を持つ 2 つのオブジェクトがあります。新しいオブジェクトを追加したいときは、 (親ID)を次のようにLabTestDetail
渡しますLabTest ID
LabTestDetail Create action method
Ajax.actionlink
@Ajax.ActionLink("+ Add New Lab Test Detail",
"Create", "LabTestDetail",
new { labtestid = Model.LabTestID },
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "Get",
UpdateTargetId = "replace",
LoadingElementId = "progress"
})
次のLabTestDetail
Create Action method
ように見えます。の値を保存する場所labtestid
: viewbag
-
[Authorize(Roles = "Doctor")]
public ActionResult Create(int labtestid)
{
ViewBag.labtestid = labtestid;
LabTestDetail ltr = new LabTestDetail();
return PartialView("_Create", ltr);
}
次に、次のようにcreate view
の値を i に保存します。Viewbag
hidden html field
<input type= "hidden" name = "labtestid" value = @ViewBag.labtestid />
最後に、LabTestDetail
Post Create action
メソッドは次のようになります:-
[Authorize(Roles = "Doctor")]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(LabTestDetail ltr, int labtestid)
{
try
{
if (ModelState.IsValid)
{
ltr.LabTestID = labtestid;
repository.AddLabTestDetail(ltr);
repository.Save();
return PartialView("_datails", ltr);
}
}
//code goes here
上記は、テストしたときにうまく機能しますが、私の大きな懸念はlabtestid
、次のアクション中に攻撃者によって の値が変更されていないことを確認する方法です:-
からに
labtestid
値を渡すときajax.action link
create action method
labtestid
値をビューバッグとして渡すときlabtestid
そして最後に、値を aに割り当てるとhtml hidden field
。
よろしくお願いいたします。ブラジル