后台获取视图对应的字符串
1.帮助类
/// <summary>/// 后台获取视图对应的字符串/// </summary>public class ViewHelper{/// <summary>/// 将View输出为字符串/// (注:不会执行对应的action方法)/// </summary>/// <param name="controller">Controller实例</param>/// <param name="viewName">如果view文件在当前Controller目录下,则直接输入文件名(例如:Toolbar)/// 否则,从根路径开始指定(例如:~/Views/User/Toolbar.cshtml)/// </param>/// <param name="masterName">模板页文件名(注:显示指定可修改Layout)</param>/// <returns></returns>public static string RenderViewToString(Controller controller, string viewName, string masterName){IView view = ViewEngines.Engines.FindView(controller.ControllerContext, viewName, masterName).View;using (StringWriter sw = new StringWriter()){ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, sw);viewContext.View.Render(viewContext, sw);return sw.ToString();}}/// <summary>/// 将PartialView输出字符串/// </summary>/// <param name="controller">controller实例</param>/// <param name="viewName">如果PartialView文件在当前Controller目录下,则直接输入文件名(例如:Toolbar);/// 否则,从根路径开始指定(例如:~/View/User/Toolbar.cshtml)/// </param>/// <param name="model">构造页面所需要的实体参数</param>/// <returns>字符串</returns>public static string ReaderPartialViewToString(Controller controller, string viewName, object model){IView view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName).View;controller.ViewData.Model = model;using (StringWriter sw = new StringWriter()){ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, sw);viewContext.View.Render(viewContext, sw);return sw.ToString();}}}
View Code
2.使用验证
1.
public ActionResult Index(){//后台加载其他视图为字符串没有母版页ViewBag.tempOne = ViewHelper.RenderViewToString(this, "TempOne", null);return View();}public ActionResult IndexTwo(){//后台加载其他视图的字符串,带有母版页//ViewBag.tempTwo = ViewHelper.RenderViewToString(this, "TempTwo", null);//后台指定修改母版页 ,并生成字符串ViewBag.tempTwo = ViewHelper.RenderViewToString(this, "TempTwo", "_Layout");return View();}//不使用母版页public ActionResult TempOne(){return View();}//使用母版页public ActionResult TempTwo(){////获取 可用字体字符数组//string[] nameList = FontFamily.Families.Select(q => q.Name).ToArray();//ViewBag.nameList = nameList;return View();}
2.
public ActionResult Index(){//后台加载其他controller 的 视图,并生成字符串ViewBag.tempTwo = ViewHelper.RenderViewToString(this, "~/Views/ViewOne/TempTwo.cshtml", null);return View();}
3.
public ActionResult Index(){//显示主视图//ViewBag.tempOne = ViewHelper.RenderViewToString(this, "~/views/viewone/TempOne.cshtml", null);//作为主视图显示,会加载母版页//ViewBag.tempTwo = ViewHelper.RenderViewToString(this, "PartialTwo",null);//作为部分视图显示,不会加载母版页,会过滤到部分标签(head,body)//ViewBag.tempTwo = ViewHelper.ReaderPartialViewToString(this, "PartialTwo", null);//ViewBag.tempTwo = ViewHelper.ReaderPartialViewToString(this, "~/views/viewone/TempOne.cshtml", null);//作为部分视图显示,传递参数ViewBag.tempTwo = ViewHelper.ReaderPartialViewToString(this, "PartialTwo", new int[] { 1, 2, 3 });return View();}//部分视图public PartialViewResult PartialTwo(){return PartialView();}
后台获取视图对应的字符串相关推荐
- 从后台获取的数据渲染到页面中的dom操作
很多情况下页面dom都是从后台拼接字符串添加生成的新的dom元素,在编辑器中不能看到,只能通过检查看到页面的dom结构,但是这时候会发生一个问题,就是如果使用jQuery无法进行dom操作,事件和方法 ...
- SpringBoot+Vue实现请求后台获取Base64编码的图片验证码并使用Redis缓存实现2分钟内有效
场景 前端Vue的登录页面,验证码请求后台,后台生成验证码照片后使用Base64编码后, 返回给前端,前端进行显示. 注: 博客: https://blog.csdn.net/badao_liuman ...
- Vue---从后台获取数据vue-resource的使用方法
作为前端人员,在开发过程中,我们大多数情况都需要从后台请求数据,那么在vue中怎样从后台获取数据呢?接下来,我简单介绍一下vue-resource的使用方法,希望对大家有帮助. 一.下载vue-res ...
- 表单和ajax中的post请求后台获取数据方法(深度好文)
最近要做后台数据接收,因为前台传来的数据太过于混乱,所以总结了一下前台数据post请求方法,顺便写了下相对应的后台接收方法. 前台主要的contenttype为下面三种:(需要注意的是请求头中data ...
- 微信小程序从前端wxml页面数据获取,到JS页面数据对象字符化,传递给后台,前台再从后台获取数据并在wxml页面动态展示数据(前后台交互实现发表动态功能)
页面: 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id, ...
- vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据 在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今 ...
- php 获取一串随机字符串,php获取随机字符串的几种方法
方法一:shuffle函数(打乱数组)和mt_rand函数(生成随机数,比rand速度快四倍) /** * 获得随机字符串 * @param $len 需要的长度 * @param $special ...
- 百度地图从后台获取实时坐标点以实现车辆实时跟踪
要想实现车辆实时跟踪,就必须实时获取车辆的坐标点,然后展示在百度地图上.而实现实时获取车辆坐标点的功能,有两个方案:方案①定义一个函数getCars(),此函数的功能是通过ajax访问后台接口,从而返 ...
- artDialog弹窗+Ztree树从后台获取数据
简单的ArtDialog+Ztree 样子就是这个了 学习artDialog的前去artDialog 4.1.7,我们需要的都可以在这里下载.小案例可以看这个*artDialog 4.1.7精简版* ...
最新文章
- Java Class文件结构
- DefWindowProc
- Leaflet中使用awesome-markers插件显示带图标的marker
- 【最详细】数据结构(C语言版 第2版)第六章课后习题答案 严蔚敏 等 编著
- java 精灵线程_Java线程的状态分析
- Django REST Framework API Guide 07
- 【今日CV 计算机视觉论文速览 143期】Mon, 15 Jul 2019
- PaddlePaddle Perceptron Example
- 拿下微软、Google、Adobe,印度为何盛产科技圈 CEO?
- 模块目录下site.php,使用apache配置为每个站点指定PHP包含目录
- matlab2010b数值分析,matlab2010b教程
- 环保材料“接棒”汽车电子成主业?路畅科技“等到”金主
- 含耦合电感元件的电路分析
- 计算机的内存时序参数,电脑内存条很重要的一个参数:时序
- 学学习笔记:利用TCGA Assembler工具下载及处理数据
- 文献学习(part102-A)--Autoencoders
- win2003的密钥
- 使用tig 做分支管理
- mysql对比时间段百分比_如何使用MySQL计算每日最高价格变化百分比?
- C语言中字符串用strcmp和==比较的问题
热门文章
- export 和export default不同的引入方式
- 省掉1/3的回归测试:Facebook用机器学习自动选择测试策略
- 在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)
- 介绍一下Seekafile Server
- 前端问题多行点点点的问题
- windows下python打开中文路径文件出现问题
- Yahoo网站性能优化的34条规则
- C++中的指针与饮用
- [转帖]C#执行SQL脚本,读取XML文件
- leetcode.169 求众数