有没有办法返回一个HTML字符串从一个部分作为JSON响应的一部分从MVC?
@H_403_1@public ActionResult ReturnSpecialJsonIfInvalid(AwesomenessModel model)
{
if (ModelState.IsValid)
{
if(Request.IsAjaxRequest()
return PartialView("NotEvil",model);
return View(model)
}
if(Request.IsAjaxRequest())
{
return Json(new { error=true,message = PartialView("Evil",model)});
}
return View(model);
}
您可以从PartialViewResult对象中提取html字符串,类似于此线程的答案:
PartialViewResult和ViewResult都派生自ViewResultBase,所以同样的方法应该在两者上同时工作。
使用上面的线程代码,你将能够使用:
@H_403_1@public ActionResult ReturnSpecialJsonIfInvalid(AwesomenessModel model) { if (ModelState.IsValid) { if(Request.IsAjaxRequest()) return PartialView("NotEvil",model); return View(model) } if(Request.IsAjaxRequest()) { return Json(new { error = true,message = RenderViewToString(PartialView("Evil",model))}); } return View(model); }