从控制器检索操作的URL
问题描述:
我从一个视图调用一个控制器操作,在该控制器内,我需要调用另一个操作,我将调用该操作将视图保存为HTML或图像的网络位置。从控制器检索操作的URL
如何从控制器中检索操作的URL。请注意我需要实际的URL,这意味着RedirectionToAction或View()不会工作。
为什么?我需要传入一个包含对视图的调用的URL。此视图将用于使用System.Windows.Forms.WebBrowser生成图像或HTML文档。
.NET 3.5; C#; MVC 1;
我可以做这样的事情,但它的脏......好吧,让我感到肮脏的感觉。
using(Html.BeginForm("Action", "MyWorkflowController",
new {
MyId = "bla",
URLToGenerateImage = Url.Action("GenerateImage", "MyWorkflowController")
}))
答
我最终使用MvcContrib.UI.BlockRenderer将View转换为Html,而不是生成图像。我开始将html字符串保存到文件系统位置。
下面是进一步信息
http://www.brightmix.com/blog/how-to-renderpartial-to-string-in-asp-net-mvc/
答
如何ContentResult类型 - 表示文本的结果,所以你可以有
/控制器/的getURL/ID
Public ActionResult GetUrl(int id)
{
// builds url to view (Controller/Image/id || Controller/Html/id)
var url = BuildImageUrl(id);
return ContentResult(url);
}
鉴于你可以有:
<a href="<% Html.RenderAction("GetUrl", "Controller", new { id = idSource }); %>">GenerateImage</a>
某种暗示链接到哪个平台(ASP.NET MVC(1/2/3),导轨等),你正在使用可能会有所帮助。 – Lazarus 2010-12-20 11:42:30
他说什么,关于语言或框架的一些细节,请! – 2010-12-20 11:44:43
对不起,C#; .NET 3.5; MVC 1 – Jonathan 2010-12-20 11:47:38