使用asp.net mvc部分视图渲染html

简介:

前端渲染

   使用前端模版引擎或MVC框架,例如underscore.js的template或者是使用angular.js等框架,当然也可以不用任何框架自己拼接html。

<!DOCTYPE html><html>
    <head>
        <title>underscore.js的template渲染html</title>
    </head><body><div id="content"></div><script src="~/static/js/lib/jquery-3.1.1.js"></script><script src="http://www.css88.com/doc/underscore/underscore.js"></script><script>
    var data = { name: 'john', age: "18" }    var compiled = _.template("<p>姓名: <%= name %></p><p>年龄: <%= age %></p>");
    $("#content").append(compiled(data));</script></body></html>

后端渲染

  如果是使用的asp.net mvc可以使用部分视图,由ajax直接加载服务器端渲染后的部分视图,这部分的全部代码请访问我的github。

  public ActionResult News()
   {       return View();
   }  public ActionResult RenderNews(int pageIndex = 1, int pageSize = 10)
  {      return PartialView();
  }

 前端直接发ajax请求RenderNews

'/Home/RenderNews?pageIndex=3&pageSize=10'"POST" (result.trim() != """#containter"

  使用这种方式是后端直接输出的是渲染后的html,有时候我们需要返回给前端错误码,例如{“code”:10000,"message":"成功","data":"<p>aaaaa</p>"},所以就需要在controller中动态调用分布视图,拿到渲染结果,动态调用代码为:

public abstract class BaseController : Controller
 {     /// <summary>
     /// 动态渲染分布视图     /// </summary>
     /// <param name="viewName">视图名称</param>
     /// <param name="model">模型</param>
     /// <returns>渲染后的html</returns>
     public virtual string RenderPartialViewToString(string viewName, object model)
     {            if (string.IsNullOrEmpty(viewName))
                viewName = this.ControllerContext.RouteData.GetRequiredString("action");            this.ViewData.Model = model;            using (var sw = new StringWriter())
            {
                ViewEngineResult viewResult = System.Web.Mvc.ViewEngines.Engines.FindPartialView(this.ControllerContext, viewName);                var viewContext = new ViewContext(this.ControllerContext, viewResult.View, this.ViewData, this.TempData, sw);
                viewResult.View.Render(viewContext, sw);                return sw.GetStringBuilder().ToString();
            }
     }
}














本文转自xmgdc51CTO博客,原文链接:http://blog.51cto.com/12953214/1944066 ,如需转载请自行联系原作者



相关文章
|
10月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
237 5
|
数据可视化 前端开发
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
本文介绍了如何在Twaver-HTML5中使用鹰眼(Overview)可视化视图组件,它作为Network的缩略图,允许用户通过缩略图导航Network,支持单击、双击和框选操作来控制Network视图。
217 5
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
本文尝试在Twaver-HTML5的Network组件的ToolTip中显示echarts饼图,但未成功,可能与版本有关。
131 4
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
|
数据可视化 前端开发 容器
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
154 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
Twaver-HTML5基础学习(30)监听事件_network绘制监听_network视图操作监听_鼠标事件的监听
本文介绍了如何在Twaver-HTML5中监听网络视图操作事件,包括视图绘制、鼠标事件以及获取鼠标下的网元等。
119 1
Twaver-HTML5基础学习(30)监听事件_network绘制监听_network视图操作监听_鼠标事件的监听
|
12月前
|
编解码 数据安全/隐私保护
.Net PdfiumViewer 打印时无法渲染电子签名问题的解决方法
【10月更文挑战第14天】这段内容介绍了使用 PdfiumViewer 库处理 PDF 文件时遇到电子签名无法打印的问题及其解决方法。首先分析了 PdfiumViewer 默认设置或对电子签名支持不足可能导致此问题,建议更新库版本并通过 NuGet 包管理器进行升级。接着检查打印机设置和驱动程序,确保设置正确且驱动为最新版本。然后优化自定义打印代码,提高渲染分辨率,确保电子签名正确加载。最后,验证 PDF 文件格式和兼容性,必要时联系技术支持或求助技术社区。
576 2
|
数据可视化 前端开发
Twaver-HTML5基础学习(25)网元可视化视图组件(Network)
这篇文章介绍了Twaver-HTML5中的网元可视化视图组件(Network)的层次结构,包括view、rootCanvas和topCanvas的使用方法和示例。
149 6
|
移动开发 数据可视化 HTML5
Twaver-HTML5基础学习(40)表格可视化视图组件(Table)
本文介绍了如何在Twaver-HTML5中使用表格可视化视图组件(Table),包括创建表格、定义列对象、实现数据绑定和排序,以及处理表格事件和获取表格数据的方法。
177 2
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
200 7
|
Web App开发 前端开发 Java
基于Spring3 MVC实现基于HTML form表单文件上传
基于Spring3 MVC实现基于HTML form表单文件上传
91 7
基于Spring3 MVC实现基于HTML form表单文件上传