小编典典

返回JSON或部分html的ASP.NET MVC控制器操作

ajax

我正在尝试创建控制器操作,该操作将根据参数返回JSON或部分html。使结果异步返回到MVC页面的最佳方法是什么?


阅读 244

收藏
2020-07-26

共1个答案

小编典典

在您的操作方法中,返回Json(object)以将JSON返回到您的页面。

public ActionResult SomeActionMethod() {
  return Json(new {foo="bar", baz="Blech"});
}

然后只需使用Ajax调用action方法即可。您可以使用ViewPage中的一种辅助方法,例如

<%= Ajax.ActionLink("SomeActionMethod", new AjaxOptions {OnSuccess="somemethod"}) %>

SomeMethod将是一个javascript方法,然后评估返回的Json对象。

如果要返回纯字符串,则可以使用ContentResult:

public ActionResult SomeActionMethod() {
    return Content("hello world!");
}

默认情况下,ContentResult返回一个文本/纯文本作为其contentType。
这是可重载的,因此您还可以执行以下操作:

return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
2020-07-26