首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以从一个ActionResult内部调用ActionResult并使用返回的ActionResult吗?

我可以从一个ActionResult内部调用ActionResult并使用返回的ActionResult吗?
EN

Stack Overflow用户
提问于 2012-10-02 01:30:55
回答 1查看 554关注 0票数 0

可能重复: In MVC3 Razor, how do I get the html of a rendered view inside an action?

好的,这是一个场景。我有一个Action结果,它返回格式良好的部分视图。我想要相同的HTML结果发送出去的电子邮件,是从另一个动作结果触发。我意识到有很多方法可以做到这一点。在Controller或Model中格式化HTML字符串需要花费很长时间。我还可以从磁盘等读取文件内容。目前我正在这样做,但在我的控制器中必须有更好的更可接受的方法来实现这一点:

代码语言:javascript
复制
// MAKE AN HTTP REQUEST FROM CONTROLLER A AND GET THE DETAILS FROM ANOTER CONTROLLER/ACTION
WebRequest req = WebRequest.Create("UrlToAnotherActionResult");
req.PreAuthenticate = true;
WebResponse resp = req.GetResponse();
StreamReader reader = new StreamReader(resp.GetResponseStream());
var html = reader.ReadToEnd().Trim();

然后,我将html结果作为我电子邮件的主体。

有比这更优雅的方法来获得另一个动作的结果吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-02 01:51:19

我一直在使用这里定义的RenderPartialViewToString功能:

http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/

好像挺管用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12683374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档