当前位置: 首页 > news >正文

.net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?

这并不容易,因为部分视图结果直接发送到httpcontext.current.response.output,它不返回字符串。您可以使用此扩展方法通过过滤httpcontext输出将其捕获为字符串:

/// Renders a view to string.

public static string RenderViewToString(this Controller controller,

string viewName, object viewData)

{

//Getting current response

var response = HttpContext.Current.Response;

//Flushing

response.Flush();

//Finding rendered view

var view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName).View;

//Creating view context

var viewContext = new ViewContext(controller.ControllerContext, view,

controller.ViewData, controller.TempData);

//Since RenderView goes straight to HttpContext.Current, we have to filter and cut out our view

var oldFilter = response.Filter;

Stream filter = new MemoryStream(); ;

try

{

response.Filter = filter;

viewContext.View.Render(viewContext, null);

response.Flush();

filter.Position = 0;

var reader = new StreamReader(filter, response.ContentEncoding);

return reader.ReadToEnd();

}

finally

{

filter.Dispose();

response.Filter = oldFilter;

}

}并在调试期间使用它:

public PartialViewResult Reload()

{

var result = RenderViewToString("Index",ViewData);

return PartialView("Index");

}Spark的扩展方法:

public static string RenderSparkToString(this Controller controller,

string viewName, object viewData)

{

var view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName).View;

//Creating view context

var viewContext = new ViewContext(controller.ControllerContext, view,

controller.ViewData, controller.TempData);

var sb = new StringBuilder();

var writer = new StringWriter(sb);

viewContext.View.Render(viewContext, writer);

writer.Flush();

return sb.ToString();

}

相关文章:

  • HTML绝对单位,css绝对长度单位主要有哪些?绝对长度单位之间如何换算?
  • html5视频播器放例子,基于html5的视频播放器不依赖任何插件
  • 齐齐哈尔2021高考成绩查询,2021年齐齐哈尔高考成绩排名及成绩公布时间什么时候出来...
  • 计算机网络有那三种结构哪些,计算机网络的常见的6种拓扑结构
  • 吉林高考计算机专业,孩子高考626分被吉林大学计算机专业录取,很后悔,怎么办?...
  • html上绘制网格线,【玩转D3.js】--(1)绘制网格线
  • html蒙版代码是什么意思,图层蒙版是什么意思
  • 在网络中为其他计算机提供共享,在计算机局域网络中,为网络提供共享资源的基本设备是?...
  • 云南计算机专业专科学校,丽江【计算机专业专科学校】_云南城市建设职业学校...
  • 怎么查找计算机硬件配置,电脑的硬件配置如何查看呢?
  • 怎么设置计算机硬盘密码,移动硬盘如何设置密码【操作步骤】
  • 英语智能语音测试软件,卓帆英语人机对话智能评测练习软件
  • 计算机二级c体型分值,计算机二级C语言题型和评分标准
  • 怎样把服务器的文件改名字,linux服务器如何修改文件名称rm命令删除文件时排除特定文件...
  • ios ajax utf-8,关于jquery.ajax 与axios 请求接口的request header :Content-type设置问题
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Angular2开发踩坑系列-生产环境编译
  • codis proxy处理流程
  • conda常用的命令
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Intervention/image 图片处理扩展包的安装和使用
  • Laravel核心解读--Facades
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Ruby 2.x 源代码分析:扩展 概述
  • spring + angular 实现导出excel
  • vue的全局变量和全局拦截请求器
  • 聚簇索引和非聚簇索引
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端设计模式
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 深度学习在携程攻略社区的应用
  • # Maven错误Error executing Maven
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (C语言)二分查找 超详细
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (七)理解angular中的module和injector,即依赖注入
  • (原創) 物件導向與老子思想 (OO)
  • (转)setTimeout 和 setInterval 的区别
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • [20171113]修改表结构删除列相关问题4.txt
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [AR Foundation] 人脸检测的流程
  • [BUUCTF 2018]Online Tool(特详解)
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [BZOJ2850]巧克力王国
  • [codevs 1296] 营业额统计
  • [dfs搜索寻找矩阵中最长递减序列]魔法森林的秘密路径
  • [Editor]Unity Editor类常用方法