在Facebook上发帖时,网址会被截断

时间:2013-01-02 07:10:19

标签: c# facebook

我在网页中使用Facebook。要发布的网址具有类似

的查询字符串
http://test.something.in:302/sample.aspx?id=54

但是在Facebook上发布时会被截断,而网址变为

http://test.something.in:302/sample.aspx.

任何人都可以帮我解决这个问题吗?

<body>
  <div id="fb-root"></div>
window.fbAsyncInit = function () {
    FB.init({
        appId: '451971411518111',
        status: true,
        cookie: true, 
        xfbml: true
    });
};
(function (d, debug) {
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) { return; }
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
    ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));


<form id="form1" runat="server">
<div class="fb-like" data-href="http%3A%2F%2Ftest.something.in%3A302%2Fsample.aspx%3FId%3D54" data-send="false" data-width="450" data-show-faces="true"></div>
</form>

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,则必须在将链接传递给Facebook Direct FB网址时对其进行编码。

在W3Schools可以找到一个好的在线编码器: http://www.w3schools.com/tags/ref_urlencode.asp

JavaScript函数http://www.w3schools.com/jsref/jsref_encodeuri.asp也可以动态编码你的URL,虽然我不知道在C#中使用什么函数(不要问我关于C#,因为我从来没有编写过一个字符C#。我甚至不知道它是否有功能。:P)

例如,您提供的URL将按如下方式编码:

http%3A%2F%2Ftest.something.in%3A302%2Fsample.aspx%3Fid%3D54

告诉我这是否有效。

BTW这个问题基本上是Facebook URL truncated的重复。尽量避免将来重复。他们可以导致你的问题被关闭,很多downvotes(我很不好意思)甚至临时禁令。现在不要担心,只是为了将来。