有没有办法从MVC返回一个HTML字符串呈现部分作为JSON响应的一部分?
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);
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
public ActionResult SomeAction()
{
return new JsonpResult
{
Data = new { Widget = "some partial html for the widget" }
};
}
Run Code Online (Sandbox Code Playgroud)
我想修改它以便我可以
public ActionResult SomeAction()
{
// will render HTML that I can pass to the JSONP result to return.
var partial = RenderPartial(viewModel);
return new JsonpResult
{
Data = new { Widget = partial }
};
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?有人可以解释一下吗?
请注意,我在发布解决方案之前编辑了问题.
什么时候ViewBag刷新或清除的值?