mvc if 显示html,asp.net mvc - 在MVC3 Razor中,如何在动作中获取渲染视图的html?
@Chev上面接受的答案很好,但我想渲染特定操作的结果,而不仅仅是特定的视图。
此外,我需要能够将参数传递给该操作,而不是依赖于注入模型。
所以我想出了我自己的方法,我把它放在我的控制器的基类中(让它们全部可用):
protected string RenderViewResultAsString(ViewResult viewResult)
{
using (var stringWriter = new StringWriter())
{
this.RenderViewResult(viewResult, stringWriter);
return stringWriter.ToString();
}
}
protected void RenderViewResult(ViewResult viewResult, TextWriter textWriter)
{
var viewEngineResult = this.ViewEngineCollection.FindView(
this.ControllerContext,
viewResult.ViewName,
viewResult.MasterName);
var view = viewEngineResult.View;
try
{
var viewContext = new ViewContext(
this.ControllerContext,
view,
this.ViewData,
this.TempData,
textWriter);
view.Render(viewContext, textWriter);
}
finally
{
viewEngineResult.ViewEngine.ReleaseView(this.ControllerContext, view);
}
}
假设我有一个名为Foo的动作,它接受一个模型对象和一些其他参数,它们共同影响将使用的视图:
public ViewResult Foo(MyModel model, int bar)
{
if (bar == 1)
return this.View("Bar1");
else
return this.View("Bar2", model);
}
现在,如果我想获得调用操作Foo的结果,我可以通过调用Foo方法获取ViewResult,然后调用RenderViewResultAsString以获取HTML文本:
var viewResult = this.Foo(model, bar);
var html = this.RenderViewResultAsString(viewResult);
mvc if 显示html,asp.net mvc - 在MVC3 Razor中,如何在动作中获取渲染视图的html?相关推荐
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
七天学会ASP.NET MVC (一)--深入理解ASP.NET MVC 系列文章 七天学会ASP.NET MVC (一)--深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)-- ...
- ASP.NET MVC教程五:ASP.NET MVC中的路由
一.概述 在ASP.NET MVC架构中,控制器在3大核心构件中处于中心地位,通过控制器支配模型和视图,然而从浏览器发出的请求到控制器还需要路由的协助,路由将特定的请求和控制器的动作对应起来. 在AS ...
- mvc跳转html,ASP.NET MVC页面重定向简单介绍
在asp.net中页面重定向:Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果 ...
- MVC 各种传值方式 ASP.NET MVC view与controller传值方式
MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index() { ViewData["T ...
- Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 6 ----asp.net MVC+Extjs
现在mvc采用了ModelBinder, Controller中现在可以接受很多复杂类型的参数,但是对于jquery,extjs等js框架来说,更多的是采用json格式与服务器端传递参数更合理.对于简 ...
- npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法
asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...
- mvc 404错误 php,ASP.NET MVC实现404跳转的代码实例
本篇文章主要介绍了ASP.NET MVC制作404跳转实例(非302和200) ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 产生404的原因主要有以下: 1.浏览器和爬虫:某些浏览器会请求网站 ...
- ASP.NET MVC教程四:ASP.NET MVC中页面传值的几种方式
准备 在Models文件夹里面新添加Student实体类,用来模拟从Controller向View传递数据,Student类定义如下: using System; using System.Colle ...
- ASP.NET MVC 3 Beta: Built-in support for charts(MVC3 Razor中使用图表的最佳方案)
选择了很久,终于找到代码最简单的解决方案:其实就是MS自带的chart.MS Chart存在已久,只是在以前的用法中,需要保存img,这将导致MVC的访问冲突(曾困扰过我们一个项目),大致就是: 以下 ...
最新文章
- JavaScript 全选函数的实现
- Xamarin.Forms XAML的辅助功能Code Snippet
- CTFshow 信息收集 web14
- 图像检索:图像拷贝检索PHash改进方案
- Linux / argv、environ 和 env 的联系
- 求数组三项之和最接近某个目标数字
- react router v4 简介
- 用java script随机数_js中Math.random()生成指定范围数值的随机数【转】
- 在英特尔® 架构平台上开发和优化基于 NDK 的 Android 游戏应用
- utf8_unicode_ci和utf8_general_ci的区别,联系及使用
- 安卓一键新机_新机速递:vivo S7,如7而至;更有Nokia携手一键直达登场
- 存储远程复制缺点_远程医疗有一个隐藏的缺点
- 【AI视野·今日NLP 自然语言处理论文速览 第三十二期】Wed, 20 Apr 2022
- DB9公头母头的定义
- 【跳坑日记】Ubuntu 16.04安装 Ruby2.7.0遇到的坑:cannot load such file -- openssl (LoadError)
- 搜狗 2018校招 商业基础工程—测试开发练习题
- Linux命令(13)——实时监控进程、监控网络
- python --- 常见题目 2019.01.03
- 想要绘图效率节省储存空间?CAD内部图块该怎么创建?
- 构建和配置更安全的网站
热门文章
- springboot spring.config.location外挂配置文件实战
- 使用conan编译安装poco
- MATLAB数字信号处理函数
- 博图注册表删除方法_技成周报40期 | 三菱、西门子软件安装常见出错解决方法...
- USB 之三 常用抓包/协议分析工具(Bus Hound、USBlyzer、USBTrace、USB Monitor Pro等)
- 51单片机系列命名规则
- 启明云端感谢热心开发者分享SSD20x直接编译lvgl7.10带双缓(附源码)
- 全志 增加强制横屏标志 Patch
- mfc获取别的计算机是否在线,VC获取并修改计算机屏幕分辨率(MFC)
- python神经网络多元函数_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...