【发布时间】:2012-05-03 13:40:22
【问题描述】:
我有以下操作方法,它返回部分视图_create。但是有没有办法通过 Partial 视图传递 Json 对象,例如 return Json(new { IsSuccess = "True" },。
我的 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) ;
}
}
::-UPDATED-::
我想要做的事情如下:-
-
我正在使用 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
【问题讨论】:
标签: json asp.net-mvc-3