2010-12-20 165 views
3

我從一個視圖調用一個控制器操作,在該控制器內,我需要調用另一個操作,我將調用該操作將視圖保存爲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") 
})) 
+1

某種暗示鏈接到哪個平臺(ASP.NET MVC(1/2/3),導軌等),你正在使用可能會有所幫助。 – Lazarus 2010-12-20 11:42:30

+0

他說什麼,關於語言或框架的一些細節,請! – 2010-12-20 11:44:43

+0

對不起,C#; .NET 3.5; MVC 1 – Jonathan 2010-12-20 11:47:38

回答

0

如何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>