如何在 Json 控制器中渲染部分视图

2023-12-13

如何渲染要在控制器中的 JsonResult 中使用的部分视图?

return Json(new
{
    Html = this.RenderPartialView("_EditMovie", updatedMovie),
    Message = message
}, JsonRequestBehavior.AllowGet);

RenderPartialView是一个自定义扩展方法,它将视图呈现为string.

没有提到在文章中(您最初提到的内容),但您可以在文章附带的示例代码中找到它。 它可以在 \Helpers\Reders.cs 下找到

这是相关方法的代码:

public static string RenderPartialView(this Controller controller, 
    string viewName, object model)
{
    if (string.IsNullOrEmpty(viewName))
        viewName = controller.ControllerContext.RouteData
            .GetRequiredString("action");

    controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        ViewEngineResult viewResult = ViewEngines.Engines
            .FindPartialView(controller.ControllerContext, viewName);
        var viewContext = new ViewContext(controller.ControllerContext, 
            viewResult.View, controller.ViewData, controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);

        return sw.GetStringBuilder().ToString();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Json 控制器中渲染部分视图 的相关文章

随机推荐

  • c# 比较两个文本文件并生成一个有差异的新文件

    我正在寻找快速比较 2 个文本文件 15000 行 并获取两个文件中不同的输出字符串的最佳方法 第一个是旧库存 新库存是当前库存 我想生成第三个 其中包含 file2 和 file1 之间不同的字符串 这 2 个文件中 95 是相似的 非常
  • 注册。 delphi中Android应用程序的大小

    当我通过 Delphi Xe7 生成 Android 应用程序时 App Name Apk 文件为 6 MB 当我在移动设备中安装时 应用程序大小为 25 MB 请向我提供是否有任何其他设置可以减小应用程序大小的信息 在代码中我只有单一形式
  • 将 rxGlm 转换为 GLM 时出错

    我在将 rxGlm 模型转换为普通 glm 模型时遇到问题 每次我尝试隐藏我的模型时 都会遇到相同的错误 Error in qr lm object lm object does not have a proper qr component
  • 数据网格视图标题网格颜色

    这是一个 VB NET 应用程序 我们在数据网格视图中显示 SQL 语句的输出 我正在使用 NET 2005 我们需要使网格控件上的标题分隔符的颜色与窗体上的 GridColor 的颜色相同 我们尝试查看 DataGridView 控件的所
  • 如何在 NSDictionary 中 POST NSDictionaries 的 NSArray 而不会出现问题?

    我确实知道如何做到这一点 这相当简单 问题是它不起作用 这是我用来发布数据的函数 void updateWebsitesUsingParameters NSDictionary parameters AFHTTPRequestOperati
  • Sitecore:打开 HTML 缓存会阻止回发行为

    我有一个带有 ASP 下拉列表的 sitecore 页面 表单上的数据是从下拉列表中选定的值填充的 当下拉列表中的所选项目发生更改时 会触发回发 在回发中 新选定的项目将添加到查询字符串中 并且用户将被重定向 为了可链接性 我最近启用了 H
  • Python Tkinter 使用 PIL 将画布保存为图像

    我有这段代码 可以让用户在画布上绘图并将其保存为jpeg file 正如中提到的这个帖子 我尝试使用 PIL 在画布上和内存中并行绘制 以便我可以将其保存为jpeg代替postscript 它似乎一直有效 直到我发现我用 PIL 保存的一些
  • docx4j 查找和替换

    我有带有一些占位符的 docx 文档 现在我应该用其他内容替换它们并保存新的 docx 文档 我开始于docx4j并找到了这个方法 public static List getAllElementFromObject Object obj
  • 通过转换器绑定每个按钮,使背景颜色变亮

    我想在单击时使按钮背景变亮 所以我做了以下事情
  • 如何修复错误 E0277:不满足特征绑定 `[usize]: std::marker::Sized` ?

    我正在尝试将数组传递给函数 fn my func xs usize gt usize 0 fn main let arr 329 457 657 let res my func inp 我收到错误 error E0277 the trait
  • 如何从 C# 以编程方式控制 Win7 中的麦克风和麦克风增强设置?

    Windows 7 有一些新的音频设置 我无法从我的 C 应用程序中控制这些设置 具体来说 在输入 麦克风 属性中 有一个包含麦克风和麦克风增强滑块的 级别 选项卡 以及一个麦克风静音切换 复选框 我需要以编程方式确保麦克风没有静音 但尚未
  • Grails + GORM:GORM 中默认的 equals() 实现是什么?

    当我做domainObj1 domainObj2Grails 中的对象是按 ID 进行比较的吗 如果不是 它们如何比较 首先 您需要了解 GORM Grails 并没有做任何特别的事情equals 除非你自己实现equals 在您的域类上
  • 摇动动画(3d版)

    我想在错误上使用此动画 如图所示here 如何在wpf中实现这一点 我感觉这应该是多个转换的组合 组合 但是具体是哪些转换以及如何转换 这是一个初学者 mcve或称之为 我的尝试 它很丑陋 甚至与我想要的不接近
  • 将操作添加到操作栏面板

    我想向操作栏添加一个操作 但它在我的操作栏中显示为下拉列表 如何向操作栏添加按钮 我的代码是 menu menu
  • 为什么Python中的像素值会自动变化?

    我正在 VideoCapture 的帮助下从视频中提取帧 提取第一帧 借助 PIL 将帧转换为图像 打印位置 1 1 处的前一个像素值 打印新创建图像的位置 1 1 处的像素值 谁能解释为什么 提取帧的函数 import cv2 from
  • 使用 Dapper,如何将 sql 类型的值作为参数传递?

    我正在尝试使用 dapper 并将我在此处使用 DDL 定义的整数列表传递给存储过程 CREATE TYPE dbo BrandIDSet AS TABLE BrandID INT NULL 我创建了这个存储过程 CREATE PROCED
  • 如何使用 jQuery 从多个事件触发相同的函数?

    有没有办法拥有keyup keypress blur and change事件在一行中调用相同的函数 还是我必须单独执行它们 我遇到的问题是 我需要通过数据库查找来验证一些数据 并希望确保在任何情况下都不会错过验证 无论是键入还是粘贴到框中
  • 在 Python 中使用 SHA256withRSA 数字签名验证失败

    我正在尝试使用离线 aadhaar KYC 验证应用程序的给定证书文件来验证数字签名 该说明在验证文档中给出 读取整个 XML 并将 s xxxx 标记从中分离出来 使用基于 SHA256withRSA 的哈希和加密技术的签名验证算法 s
  • 将二进制文件添加到 Visual Studio 中的资源

    请这听起来可能是新手 但我就是无法让它工作 因为 在 Visual Studio 2012 中将文件 例如 file exe 添加到资源中的步骤是什么 以便我可以使用以下命令找到资源FindResource hInstance MAKEIN
  • 如何在 Json 控制器中渲染部分视图

    如何渲染要在控制器中的 JsonResult 中使用的部分视图 return Json new Html this RenderPartialView EditMovie updatedMovie Message message JsonR