可能重复: In MVC3 Razor, how do I get the html of a rendered view inside an action?
好的,这是一个场景。我有一个Action结果,它返回格式良好的部分视图。我想要相同的HTML结果发送出去的电子邮件,是从另一个动作结果触发。我意识到有很多方法可以做到这一点。在Controller或Model中格式化HTML字符串需要花费很长时间。我还可以从磁盘等读取文件内容。目前我正在这样做,但在我的控制器中必须有更好的更可接受的方法来实现这一点:
// 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结果作为我电子邮件的主体。
有比这更优雅的方法来获得另一个动作的结果吗?
发布于 2012-10-02 01:51:19
我一直在使用这里定义的RenderPartialViewToString功能:
http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/
好像挺管用的。
https://stackoverflow.com/questions/12683374
复制相似问题