我看到有人想知道如何为另一个控制器执行此操作。

就我而言,我的所有电子邮件模板都位于Views / Email文件夹中,但是您可以对其进行修改以传递与之关联了视图的控制器。

public static string RenderViewToString(Controller controller, string viewName, object model)

{

var oldController = controller.RouteData.Values["controller"].ToString();

if (controller.GetType() != typeof(EmailController))

controller.RouteData.Values["controller"] = "Email";

var oldModel = controller.ViewData.Model;

controller.ViewData.Model = model;

try

{

using (var sw = new StringWriter())

{

var viewResult = ViewEngines.Engines.FindView(controller.ControllerContext, viewName,

null);

var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);

viewResult.View.Render(viewContext, sw);

//Cleanup

controller.ViewData.Model = oldModel;

controller.RouteData.Values["controller"] = oldController;

return sw.GetStringBuilder().ToString();

}

}

catch (Exception ex)

{

Elmah.ErrorSignal.FromCurrentContext().Raise(ex);

throw ex;

}

}

从本质上讲,此操作是使用一个控制器(例如AccountController)并将其修改为一个EmailController,以便代码将在Views/Email文件夹中查找。这样做是有必要的,因为该FindView方法不会将直线路径作为参数,而是需要一个ControllerContext。

渲染完字符串后,它将AccountController返回到其初始状态,以供Response对象使用。

mvc5控制器修改html,ASP.NET MVC Razor:如何在控制器动作中呈现Razor局部视图的HTML...相关推荐

  1. mvc5控制器修改html,关于jquery:如何通过对控制器的ajax调用在MVC5中呈现局部视图并返回HTML...

    如何使用Ajax加载以HTML呈现的完整部分视图(所以我只设置了div.html) 我需要一个Ajax调用来调用控制器操作,它将呈现一个完整的局部视图(红色),并将其附加到当前加载的视图的末尾? [我 ...

  2. ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    一.天降神器"剃须刀" - Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用W ...

  3. ASP.NET MVC 音乐商店 - 2.控制器

    在典型的 Web 应用中,用户请求的 URL 地址通常映射到保存在网站中的文件上,例如,当用户请求 /Products.aspx 的时候,或者 /Products.php 的时候,很可能是在通过处理 ...

  4. asp.net mvc 使用ajax请求 控制器 (PartialViewResult)分部的action,得到一个分部视图(PartialView)的HTML,进行渲染...

    在asp.net mvc 使用ajax请求获取数据的时候,我们一般是返回json或者xml,然后解析这些数据进行渲染,这样会比较麻烦,可以请求一个 分部action,返回一个分部视图 直接可以渲染,不 ...

  5. asp.net mvc 之旅—— 第一站 从简单的razor入手

    记得2011年mvc3刚出来的时候,我们就有幸将 mvc3 用在我们团购项目上,当时老大让我们用一个星期时间来熟悉mvc,幸好园子里面的老朋友DR 正在写mvc3系列,也恭喜这个系列文章被整理成专题供 ...

  6. mvc5 返回html,在asp.net mvc中使用PartialView返回部分HTML段

    该问题是个常见的 case, 故写篇文章用于提示新人. 相信聪明的你已经知道了它俩的区别了,没错 一个用于返回整体,另一个返回局部(部分). 假设我有这样一个需求,输入用户名,然后返回相关信息.之前的 ...

  7. mvc怎么单独引用css文件,关于asp.net mvc:如何在剃刀视图中引用.css文件?

    我知道如何在layout.cshtml文件上设置.css文件,但是在每个视图的基础上应用样式表呢? 我在这里的想法是,在layout.cshtml中,您可以使用标记,但在非布局视图中不能这样做.标签在 ...

  8. ASP.NET MVC 使用Log4Net在不同目录中记录不同类型的日志

    在上一篇文章中,实现了利用Log4Net记录系统中出现的问题.如果同时还需要记录用户操作的监控日志,就需要一些修改 修改Web.Cofig配置文件 ,增加一个logger节点和appender节点,用 ...

  9. asp.net mvc中用 log4net记录日志到数据库中

    1.log4net官网配置相关,创建数据库 http://logging.apache.org/log4net/release/config-examples.html CREATE TABLE [d ...

最新文章

  1. 浅析I/O处理过程与存储性能的关系
  2. Android实训日志:基于外部存储的音乐播放器V05
  3. 点是否在面内算法(Point-In-Polygon Algorithm)
  4. vlc rtsp流 转 http播放视频
  5. 智能老旧模糊照片修复——C++实现GFPGAN模型推理
  6. 前端性能优化-DNS解析优化
  7. [cpyhon源代码]dict对象原理学习
  8. 《剑指offer》二进制中1的个数
  9. classpass 配置mysql_jmeter压测学习18-JDBC配置连接mysql数据库
  10. Python-MongoDB的驱动安装、升级
  11. jQuery实现PC端商城购物车模块基本功能(每个商品的小计和合计都会根据添加和删除的操作来动态计算)
  12. 深入理解MR1与MR2的执行流程
  13. oracle反生异常会回滚吗,Oracle transaction rollback 事务异常回滚问题分析
  14. yaml 变量引用_yaml语法简介
  15. 用计算机算术表白,数学表白密码
  16. 5miles:这家电商公司,想做推动区块链技术落地的标杆
  17. 深眸分享——一文看懂倍频器的原理及其应用
  18. 《那些年啊,那些事——一个程序员的奋斗史》——47
  19. 【医学图像分割】CT医学图像的预处理(重采样)
  20. Mycat生产实践---数据迁移与扩容实践

热门文章

  1. freemarker中运算符_freemarker常见语法大全
  2. linux4安装gcc,当ubuntu已有gcc4时安装gcc3
  3. OpenShift 4.10 不可变新特性 - 利用 MachineConfig 发现节点配置漂移
  4. OpenShift 4 - 通过Maven镜像加速Java应用构建速度
  5. 第一个云原生步骤:自动化构建、测试和部署(二)
  6. (三)MLOps管道中的模型自动调整
  7. 统一并发 II——基准测试方法
  8. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)
  9. abaqus推荐用哪一版本的_ABAQUS推荐资料合集(一)
  10. 关于shiro授权 This subject is anonymous - it does not have any identifying principals and authorization