使用javascript和用户控制的类似Facebook的多URL计数
我有一个javascript方法,可以获取给定URL的facebook喜好数。 我把这个函数放在用户控件中,并在repeater中为多项目调用这个控件。 当我运行页面时,我只会得到中继器中第一个项目的赞数。 我怎样才能解决这个问题使用javascript和用户控制的类似Facebook的多URL计数,javascript,c#,asp.net,user-controls,repeater,Javascript,C#,Asp.net,User Controls,Repeater,我有一个javascript方法,可以获取给定URL的facebook喜好数。 我把这个函数放在用户控件中,并在repeater中为多项目调用这个控件。 当我运行页面时,我只会得到中继器中第一个项目的赞数。 我怎样才能解决这个问题 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FacebookNoOfLikes.ascx.cs" Inherits="TELiveSports.FrontEnd.UserControl
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FacebookNoOfLikes.ascx.cs" Inherits="TELiveSports.FrontEnd.UserControls.FacebookNoOfLikes" %>
<script type="text/javascript">
function fetchLikeCount(url) {
// alert(url);
return $.Deferred(function (defer) {
$.ajax({
dataType: 'jsonp',
url: 'https://api.facebook.com/method/fql.query?callback=callback',
data: {
query: 'SELECT like_count FROM link_stat WHERE url="' + url + '"',
format: 'JSON'
}
}).then(function (res) {
try {
var count = res[0].like_count;
defer.resolve(count);
} catch (e) {
reject();
}
}, reject);
function reject() {
defer.reject('-');
};
}).promise();
}
function GetPageFaceLikes(controlName) {
fetchLikeCount(document.getElementById(controlName).value).always(function (res) {
$("#res").text(res);
});
}
我需要专家的解决方案
<asp:HiddenField runat="server" ID="lbl_URL" Value='<%#Eval("ShareItemURL") %>' />
<div id="res">
<script type="text/javascript">
function pageLoad(){
GetPageFaceLikes('<%= lbl_URL.ClientID %>')
};
</script>
</div>