在ASP.Net MVC中如何生成facebook链接?

时间:2011-10-25 14:53:47

标签: asp.net-mvc hyperlink

在ASP.Net MVC中,如何生成以下链接?

<a class="facebook" rel="nofollow" target="_blank" href="http://www.facebook.com/sharer.php?u=HTTP://myreallycoolsite.com/somegroup/somechildgroup/some_title/">some_title</a>

当前页面是

HTTP://myreallycoolsite.com/somegroup/somechildgroup/some_title/

,它需要用作外部链接的参数。

3 个答案:

答案 0 :(得分:2)

正常创建链接并在其中放入@Request.Url.ToString()。如果你需要动态地将some_title文本放在那里,那么你需要做一些不同的事情。如果它是路线的一部分,那么你可以从RouteData拉出它。如果它是您页面的标题,您可以使用ViewBag.Title。如果它完全是任意的,你可能只需要使用正则表达式。

<a class="facebook" rel="nofollow" target="_blank" href="http://www.facebook.com/sharer.php?u=@Request.Url.ToString()">some_title</a>

答案 1 :(得分:2)

这是剃须刀:

@{ 
    // you can inline this instead
    var Param = Url.Encode(Url.Action("action", "controller", new{ /*params*/ });
        ^^^^^
    // or for the current page's URL (hat tip @Dismissile)
    Param = Url.Encode(Request.Url.ToString());
}
<a class="facebook"
   rel="nofollow" 
   target="_blank" 
   href="http://www.facebook.com/sharer.php?u=@Param">some_title</a>
                                              ^^^^^^

如果您没有使用Razor,它看起来像这样(或者至少接近这个):

<%
    // you can inline this instead
    var Param = Url.Encode(Url.Action("action", "controller", new{ /*params*/ });
        ^^^^^
    // or for the current page's URL (hat tip @Dismissile)
    Param = Url.Encode(Request.Url.ToString());
%>
<a class="facebook"
   rel="nofollow" 
   target="_blank" 
   href="http://www.facebook.com/sharer.php?u=<%=Param%>">some_title</a>
                                                 ^^^^^^

答案 2 :(得分:0)

试试这个

  <a href="#" 
    onclick="
       window.open(
       'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href), 
       'facebook-share-dialog', 
       'width=626,height=436'); 
    return false;">
       Share on Facebook
   </a>