部分的なビューを返す次のアクション メソッドがあります_create
。return Json(new { IsSuccess = "True" },
しかし、部分ビューのように Json オブジェクトを渡す方法はありますか。
私のアクションメソッドは次のようになります:-
try
{
if (ModelState.IsValid)
{
var v = repository.GetVisit(visitid);
if (!(v.EligableToStart(User.Identity.Name)))
{
return View("NotFound");
}
vlr.VisitID = visitid;
repository.AddVisitLabResult(vlr);
repository.Save();
ViewBag.LabTestID = new SelectList(repository.FindAllLabTest(), "LabTestID", "Description", vlr.LabTestID);
// return Json(new { IsSuccess = "True" }, JsonRequestBehavior.AllowGet);
@ViewBag.status = "Added Succsfully";
return PartialView("_create",vlr) ;
}
}
::-更新しました-::
私が次のようにしようとしていること:-
私はajax.beginformを使用してアクションメソッドを呼び出しています
using (Ajax.BeginForm("CreateAll", "VisitLabResult", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = item.ToString(), InsertionMode = InsertionMode.Replace, OnSuccess = string.Format("disableform({0})", Json.Encode(item)), }))
サーバーからの応答を正常に受信した後、Onsuccess スクリプトが実行されます。スクリプトは単にフォームを無効にします:-
function disableform(id) { $('#' + id + ' :input').prop("disabled", true); }
問題は、検証エラーが発生した場合でも、スクリプトが常にフォームを無効にすることです。そのため、私が達成しようとしていたのは、ModelState.IsValid が有効かどうかを示す部分ビューを含む JSON を返すことです。ユーザーが検証エラーを修正できるようにフォームを有効にしておくことは無効でした。
ブラジル