【问题标题】:mvc render partial view without httpContext or controller contextmvc 在没有 httpContext 或控制器上下文的情况下渲染部分视图
【发布时间】:2013-04-09 08:15:29
【问题描述】:

是否可以在没有 ViewContext 或 ControllerContext 的情况下渲染局部视图?

  • 我正在尝试从 Controller Action 外部获取 PartialView Html 作为字符串。
  • 是否可以从其他方法调用控制器操作? (这将允许我执行控制器操作并以这种方式获取部分视图 html)。

【问题讨论】:

  • 您是否试图从某种后台任务或其他东西(没有任何 httpcontext)中调用它?我有我在基本控制器中使用的代码,它会将部分视图呈现为字符串以用于 AJAX/JSON 或用于发送电子邮件等,但没有任何东西可以突然生成,因为我不需要。
  • 是的。这是一个后台任务。

标签: asp.net asp.net-mvc asp.net-mvc-3 razor asp.net-mvc-4


【解决方案1】:

您可以尝试Razor Generator Visual Studio 扩展。基本上你在你的视图上运行自定义工具,它会生成一个你可以传递模型的类,它会生成一个字符串。

【讨论】:

  • 我放弃了在signalR中使用ViewContext。事实证明,即使 signalR 允许对会话上下文进行只读访问,有时它也会设置为 null。我按照 Britton 的建议使用了 Razor Generator。使用它的唯一缺点是我必须有两个在 MVC 中使用的不同视图(我的 partialView)和另一个供 RazorGenerator 使用的视图,这几乎是多余的。谢谢
猜你喜欢
  • 1970-01-01
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2017-04-14
相关资源
最近更新 更多