1. public static class RenderViewTostring
  2. {
  3. /// <summary>
  4. ///将部分视图转成html 字符串方便我们扩展使用
  5. /// </summary>
  6. /// <param name="controller">The controller.</param>
  7. /// <param name="viewName">Name of the view.</param>
  8. /// <param name="model">The model.</param>
  9. /// <returns></returns>
  10. public static string RenderPartialView(this Controller controller, string viewName)
  11. {
  12. return RenderPartialView(controller, viewName, null);
  13. }
  14. /// <summary>
  15. ///将部分视图转成html 字符串方便我们扩展使用
  16. /// </summary>
  17. /// <param name="controller">The controller.</param>
  18. /// <param name="viewName">Name of the view.</param>
  19. /// <param name="model">The model.</param>
  20. /// <returns></returns>
  21. public static string RenderPartialView(this Controller controller, string viewName, object model)
  22. {
  23. if (string.IsNullOrEmpty(viewName))
  24. viewName = controller.ControllerContext.RouteData.GetRequiredString("action");
  25.  
  26. controller.ViewData.Model = model;
  27. using (var sw = new StringWriter())
  28. {
  29. ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
  30. var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
  31. viewResult.View.Render(viewContext, sw);
  32. // return sw.Encoding.EncodingName;
  33. return sw.GetStringBuilder().ToString();
  34. }
  35. }
  36. /// <summary>
  37. /// 部分视图转成html
  38. /// viewbag 和viewdata 访问是相通的.
  39. /// ViewData["Hello"] = "Hello Boy!";
  40. /// view ViewBag.Hello 就是访问上面这个;
  41. /// </summary>
  42. /// <param name="controller">The controller.</param>
  43. /// <param name="viewName">Name of the view.</param>
  44. /// <param name="model">The model.</param>
  45. /// <param name="viewdataary">键值形式的对象</param>
  46. /// <returns></returns>
  47. public static string RenderPartialView(this Controller controller, string viewName, object model, params KeyValuePair<string, object>[] viewdataary)
  48. {
  49. if (string.IsNullOrEmpty(viewName))
  50. viewName = controller.ControllerContext.RouteData.GetRequiredString("action");
  51. controller.ViewData.Model = model;
  52. if (viewdataary != null && viewdataary.Any())
  53. {
  54. foreach (var item in viewdataary)
  55. {
  56. controller.ViewData.Add(item);
  57. }
  58. }
  59. return ControllserRenderView(controller, viewName);
  60. }
  61.  
  62. /// <summary>
  63. /// Controllsers the render view.
  64. /// </summary>
  65. /// <param name="controller">The controller.</param>
  66. /// <param name="viewName">Name of the view.</param>
  67. /// <returns></returns>
  68. private static string ControllserRenderView(Controller controller, string viewName)
  69. {
  70. using (var sw = new StringWriter())
  71. {
  72. ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
  73. var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
  74. viewResult.View.Render(viewContext, sw);
  75. return sw.GetStringBuilder().ToString();
  76. }
  77. }
  78. }

mvc部分视图转换成html字符串的更多相关文章

  1. MVC扩展控制器, 把部分视图转换成字符串(带验证信息), 并以json传递给前端视图

    当我们使用jQuery异步提交表单数据的时候,需要把部分视图转换成字符串(带验证信息),以json的形式传递给前端视图.   使用jQuery异步加载部分视图,返回内容追加到页面某个div:   jQ ...

  2. C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。

    C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// ...

  3. DataTable转换成json字符串

    将DataTable里面的行转换成json字符串方法: #region DataTable转为json /// <summary> /// DataTable转为json /// < ...

  4. Newtonsoft.Json 把对象转换成json字符串

    var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount ...

  5. Java将其他数据格式转换成json字符串格式

    package com.wangbo.util; import java.beans.IntrospectionException; import java.beans.Introspector; i ...

  6. json 字符串转换成对象,对象转换成json字符串

    json   字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法:   [注意jquery版本问题] var str = '{"name":&qu ...

  7. PDF转换成二进制字符串写入 HTTP 输出流

    最近项目需要做电子签章,需要网页打开PDF签章后保存:正好复习哈二进制和流的转换: 文件转换成二进制字符串写入HTTP输出流 protected void Page_Load(object sende ...

  8. JSON对象转换成JSON字符串

    1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DT ...

  9. java 图片转换成base64字符串

    import java.io.ByteArrayOutputStream; import java.io.FileInputStream;import java.io.FileOutputStream ...

随机推荐

  1. php 后知后觉

    1.$this :动态调用,指当前对象 通过一个例子,说明一下我当时的心理历程: /** * 父类 */ class A { function show() { echo $this->msg( ...

  2. linux执行python的脚本文件,提示提示No such file or directory

    在window平台下,写好python脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示No such file or directory.ls 了下,确实有该文件,怎么会事呢, ...

  3. svcutil生成List类型不转换成数组

    svcutil http://localhost:22180/Service1.svc /out:c:\service1.cs /config:c:\config.config /ct:System. ...

  4. Spark读HBase写MySQL

    1 Spark读HBase Spark读HBase黑名单数据,过滤出当日新增userid,并与mysql黑名单表内userid去重后,写入mysql. def main(args: Array[Str ...

  5. C# 树状图

    效果图: 结构: frmMain层 using hierarchy.BLL; using hierarchy.Model; using System; using System.Collections ...

  6. JavaScript语言里判断一个整数,属于哪个范围:大于0;小于0;等于0

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 原来你是这样的setTimeout

    先上代码 console.log("start"); setTimeout(function(){ console.log("Hello"); },200); ...

  8. svo_udp通信02——一组数据发送

    注意事项: 1.client 和server 定义的发送和接收数据(结构)要相同.如: client.c: struct position_packet {float pos_x[5];float p ...

  9. 锋利的jQuery初学(4)

    css选择器与jQuery选择器 css选择器 符号 说明 用法 #id 选择器 #id{} .class 类选择器 .class{} Element 标签选择器 p{} , 并集选择器 div,p{ ...

  10. [原] inline operator delete & DLL boundary

    很久以前写在百度空间的这篇文章: [百度空间] [原] 全局operator delete重载到DLL 首先,纠正一个词“重载”,operator new/delete是替换(replacement) ...