3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以從PartialViewResult對(duì)象中提取html字符串,類(lèi)似于此線(xiàn)程的答案:
將視圖渲染為字符串
PartialViewResult和ViewResult都派生自ViewResultBase,因此同樣的方法應(yīng)該同時(shí)適用于兩者。
使用上面的線(xiàn)程中的代碼,您將能夠使用:
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);
}

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
而不是RenderViewToString我喜歡像這樣的方法
return Json(new { Url = Url.Action("Evil", model) });
那么你可以在你的javascript中捕獲結(jié)果并執(zhí)行類(lèi)似的操作
success: function(data) {
$.post(data.Url, function(partial) {
$('#IdOfDivToUpdate').html(partial);
});
}

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
Url.Action(“邪惡”,型號(hào))
將生成一個(gè)獲取查詢(xún)字符串,但您的ajax方法是post,它將拋出錯(cuò)誤狀態(tài)500(內(nèi)部服務(wù)器錯(cuò)誤)。 - Fereydoon Barikzehy 2月14日9:51
只需在Json對(duì)象上添加“JsonRequestBehavior.AllowGet”即可。
- 3 回答
- 0 關(guān)注
- 570 瀏覽
添加回答
舉報(bào)