当前位置: 首页 > 面试题库 >

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

商高谊
2023-03-14
问题内容

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


问题答案:

在您的操作方法中,返回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");


 类似资料:
  • 我有一个Spring控制器,它正在向我脚本中存在的ajax调用发送JSON响应。我在控制器方法中使用了@响应体,当通过ajax调用调用JSON时,它直接发送JSON作为响应。 在我添加JsonSanitizer之后。sanitize(myJsonString),它在ajax响应中作为html返回,而不是JSON。因此,我现在无法解析json对象。 示例代码: 在上面添加新行之后,响应以html而不

  • 问题内容: 我正在将KnockoutJS引入现有的应用程序中。我的计划是修改/利用我们已经创建的现有局部视图,并将其与具有Knockout声明性属性的JS视图模型绑定。当我对某个动作进行AJAX调用时,理想情况下,我希望该动作同时返回部分视图的HTML和JSON对象。然后,我可以用HTML填充div,将JSON转换为Knockout对象并将其绑定到HTML。但是我不知道如何从动作中返回两者。 我需

  • 我使用的是playframe 2.6和play-slick 0.8.0。 行动代码: Action是只检查有效会话的Action和DBAction的组合,DBAction要求请求主体具有有效的JSON对象。 测试代码: InMemoryDB类只是一个带有预填充内存数据库的伪造应用程序。 我遇到的问题是,当测试运行时,结果总是400,其中主体内容包含一条消息[无效的Json]。当我使用带有相同JSO

  • 问题内容: 我有一个这样的数据库表: 如果没有解决,它包含一行的多个版本,然后包含一些文本数据。 我想查询它,并为每个ID返回编号最高的版本。(因此,第二行和最后一行仅在上面)。 我尝试在按version_id DESC排序时尝试使用分组方式-但似乎在对其分组后进行了排序,因此这行不通。 任何人有任何想法吗?我简直不敢相信! 更新: 提出这个,它可以工作,但是使用子查询: 问题答案: 这称为选择列

  • 我将这个方法设置为从Spring Boot rest控制器返回一个响应: 这是DAO方法: 我成功地拥有一个json对象作为响应,但格式如下: 当我期待有: 为什么将结果集插入到< code>#result-set-1键中?我如何改变这种行为?

  • 目标是打印标签的当前文本。标签在整个程序中不断变化,使用当前的方法,我只能检索标签的初始化值。 我用来检索控制器实例的内容: