我有以下操作方法,它返回一个局部视图_create
。但是有没有办法传递 Json 对象,例如return Json(new { IsSuccess = "True" },
使用 Partial 视图。
我的 Action 方法如下所示:-
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); }
问题是脚本将始终禁用表单,即使发生一些验证错误,所以我试图实现的是返回一个带有部分视图的 JSON,指示 ModelState.IsValid 是否有效,以及如果保持表单启用以允许用户更正验证错误是无效的。
BR