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

MVC将部分视图作为JSON返回

巫马昆琦
2023-03-14
问题内容

有没有一种方法可以将部分呈现为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);
    }

问题答案:

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


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

  • 问题内容: 我有一个用Spring-Data制作的数据访问层。我现在正在其上创建一个Web应用程序。这个控制器方法应返回一个格式为JSON 的Spring-Data Page 。 这样的页面是带有附加分页信息(例如记录总数等)的列表。 这可能吗?如果可以,怎么办? 与之直接相关的是,我可以定义属性名称的映射吗?例如。这意味着我需要定义如何在JSON中(与页面中不同)命名页面信息属性。这有可能吗?

  • 问题内容: 我正在尝试创建控制器操作,该操作将根据参数返回JSON或部分html。使结果异步返回到MVC页面的最佳方法是什么? 问题答案: 在您的操作方法中,返回Json(object)以将JSON返回到您的页面。 然后只需使用Ajax调用action方法即可。您可以使用ViewPage中的一种辅助方法,例如 SomeMethod将是一个javascript方法,然后评估返回的Json对象。 如果

  • 问题内容: 我在MVC应用程序中有此标记。 当它运行时,IngredientsListControl.ascx在浏览器中显示为新页面,并且不会更新Ingredientlistdiv。 这是我的控制器动作 我在这条线上做对了吗? 这就是我将控件呈现到div中的方式,以便它不会加载新页面。 马尔科姆 问题答案: 使用此功能时: …您应该注意,这与 它不会引发onsubmit事件,并且不会调用MVC的A

  • 我有一个函数,可以使用Pandas分析CSV文件并生成包含摘要信息的编辑器。我想从Flask视图返回结果作为响应。如何返回JSON响应?

  • 问题内容: 为了使进度报告过程更加可靠,并使它与请求/响应脱钩,我正在Windows Service中执行处理,并将预期的响应持久化到文件中。当客户端开始轮询更新时,其目的是控制器以JSON字符串形式返回文件的内容(无论它们是什么)。 该文件的内容已预序列化为JSON。这是为了确保在响应过程中没有任何阻碍。无需进行任何处理(只需将文件内容读入字符串并返回)即可获得响应。 我最初虽然很简单,但事实并