2015-05-04 72 views
0

我正在开发VS2012 ASP.NET MVC解决方案。在我的控制器上使用ActionLink访问外部URL

如果我需要访问我知道我可以继续像这样的外部URL:

<a href="http://www.myurl.com" target="_blank">Click me</a> 

是否有可能代替传统的锚标记使用的ActionLink的?

喜欢的东西:

@Html.ActionLink("Click me", "MyAction", "MyController", null, new { target="_blank" }); 

如果这是feasable,我有什么对控制器打开外部URL的行动里面的代码?

谢谢。

+0

有什么意思吗? – tmg

回答

0

ActionLink不会在你的情况下工作,因为它不支持绝对网址。您可以实现新的扩展名:

public static class URLLinkHelper 
{ 
    public static MvcHtmlString URLLink(this HtmlHelper htmlHelper, string linkText, string url) 
    { 
     TagBuilder tagBuilder = new TagBuilder("a"); 
     tagBuilder.Attributes["href"] = url; 
     tagBuilder.InnerHtml = linkText; 
     return new MvcHtmlString(tagBuilder.ToString()); 
    } 
} 

在您的视图中添加此类命名空间的引用。

@Html.URLLink("Link to yahoo", "http://yahoo.com") 
+0

感谢您的解释。非常具有启发性。 – Bronzato

+0

@Bronzato希望它回答你的问题 –