小编典典

MVC将部分视图作为JSON返回

ajax

有没有一种方法可以将部分呈现为MVC的JSON响应的一部分返回HTML字符串?

    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);
    }

阅读 275

收藏
2020-07-26

共1个答案

小编典典

PartialViewResult和ViewResult都从ViewResultBase派生,因此相同的方法应该对两者都起作用。

使用上面线程中的代码,您将可以使用:

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);
}
2020-07-26