一、.Net Core Mvc下获得

建立一个帮助类,如下:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewEngines;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks; namespace NetCorePortal.Models
{
public class ViewHtmlHelper
{
public static string ConvertToString(Controller controller, string viewName, object viewModel, bool isMainPage)
{
controller.ViewData.Model = viewModel;
using (StringWriter sw = new StringWriter())
{
IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
ViewEngineResult viewEngineResult = viewEngine.FindView(controller.ControllerContext, viewName, isMainPage);
if (viewEngineResult.Success)
{
ViewContext viewContext = new ViewContext(
controller.ControllerContext,
viewEngineResult.View,
controller.ViewData,
controller.TempData,
sw,
new HtmlHelperOptions()
);
viewEngineResult.View.RenderAsync(viewContext);
return sw.GetStringBuilder().ToString();
}
else
{
return $"视图{viewName}不存在";
}
}
}
}
}

后台调用方法

public ContentResult ViewToStringDemo()
{
string strView = ViewHtmlHelper.ConvertToString(this, "Index", "", true);
return Content(strView);
}

参考自:https://www.cjavapy.com/article/147/

二、.Net Mvc下获得

/// <summary>
/// 获得LayTreeGrid视图的HTML内容
/// </summary>
/// <returns></returns>
public ContentResult ViewText()
{
string html = string.Empty;
IView view = ViewEngines.Engines.FindView(this.ControllerContext, "LayTreegrid", null).View; ViewDataDictionary vdd = new ViewDataDictionary();
TempDataDictionary tdd = new TempDataDictionary();
using (System.IO.StringWriter sw = new System.IO.StringWriter())
{
ViewContext viewContext = new ViewContext(this.ControllerContext, view, vdd, tdd, sw);
viewContext.View.Render(viewContext, sw);
html = sw.ToString();
}
return Content(html);
}

.NET MVC后台获得VIEW对应的html的更多相关文章

  1. ASP.NET MVC Controller向View传值的几种方式

    上几篇博文提到MVC和WebForm的区别,主要是MVC的Controller和View将传统的WebForm的窗体和后台代码做了解耦,这篇博文简单介绍一下在MVC中Controller向View是如 ...

  2. MVC -- 后台RedirectToAction传递实体类与字符串

    1.MVC -- 后台RedirectToAction传递实体类 RedirectToAction(控制器,控制器方法,实体类) 2.MVC -- 后台RedirectToAction传递字符串 Re ...

  3. MVC后台传dt数据

    //MVC后台传dt数据 public JsonResult TeacherVoteInfo([FromBody]Teacher_VoteModel model) { string tname = m ...

  4. MVC中视图View向控制器传值的方法

    MVC中视图View向控制器传值的方法步骤如下: 1.index页面: 页面中只需要一个触发事件的按钮

  5. MVC(Model(模型) View(视图) Controller(控制器))

    复习 1.      商品表 增删改查 index.php  add.php   view.php   edit.php   action.php 2.      MVC(Model(模型)  Vie ...

  6. ASP.NET MVC 后台接收集合参数和 jquery ajax 传值

    MVC 接收参数数组(集合)   示例样本:   public class Person {      public string FirstName { get; set; }      publi ...

  7. MVC(Model View Controller)框架

    MVC框架 同义词 MVC一般指MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一 ...

  8. 序列化json对象,通过ajax传入asp.net mvc后台

    序列化json对象,通过ajax传入asp.net mvc后台 序列化json对象,通过ajax传入asp.net mvc后台   今天遇到一个问题,准备把组织好的json对象通过jquery.aja ...

  9. ASP.NET没有魔法——ASP.NET MVC Razor与View渲染

    对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到 ...

随机推荐

  1. SpringCloud微服务(06):Config组件,实现配置统一管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.Config简介 在微服务系统中,服务较多,相同的配置:如数据库信息.缓存.参数等,会出现在不同的服务上,如果一个配置发生变化,需要修改很 ...

  2. 关于MySql 数据库InnoDB存储引擎介绍

    熟悉MySQL的人,都知道InnoDB存储引擎,如大家所知,Redo Log是innodb的核心事务日志之一,innodb写入Redo Log后就会提交事务,而非写入到Datafile.之后innod ...

  3. Taro自定义Modal对话框组件|taro仿微信、android弹窗

    基于Taro多端实践TaroPop:自定义模态框|dialog对话框|msg消息框|Toast提示 taro自定义弹出框支持编译到多端H5/小程序/ReactNative,还可以自定义弹窗类型/弹窗样 ...

  4. Java 正则初探

    正则表达 初探* 走进沼泽 问题引出 问题:判断一个String字符串是否为数字字符串 将字符串转换为字符数组 判断每一个字符是否在"0~9"范围之间 public class T ...

  5. 更改组织属性-以更改maxrecordsforexporttoexcel为例

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复232或者20161101可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  6. 从0系统学Android-2.6Activity间数据传递

    本系列文章,参考<第一行代码>,作为个人笔记 更多内容:更多精品文章分类 2.3.4 向下一个 Activity 传递数据 前面学习了使用 Intent 来启动一个 Activity ,其 ...

  7. pymysql连接

    import pymysql conn=pymysql.connect(host='localhost',user='root',password='123',db='sg',charset='utf ...

  8. 【Https异常】This request has been blocked; the content must be served over HTTPS

    一.问题出现场景 项目从http升级到https后,jsp页面存在发送http请求的情况下就会出现该异常.因为HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 ...

  9. 以太网驱动的流程浅析(二)-Ifconfig的详细代码流程【原创】

    以太网驱动流程浅析(二)-ifconfig的详细代码流程 Author:张昺华 Email:920052390@qq.com Time:2019年3月23日星期六 此文也在我的个人公众号以及<L ...

  10. 201871010102-常龙龙《面向对象程序设计(java)》第十二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...