在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/
,它需要用作外部链接的参数。
答案 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>