我在 webpart 中放置了 facebook like 和 google + 按钮,而 webpart 又位于更新面板中。问题是一旦通过更新面板进行异步回发,fb 和 g+ 按钮就会消失。
我还有一个推特按钮,我之前遇到过类似的问题。在我将 twitter javascript 放在更新面板之外之后,它现在可以工作了:
<asp:updatepanel ID="UpdatePanel1" runat="server">
<asp:WebPartManager ID="WebPartManager1" runat="server">
</asp:WebPartManager>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);
</script>
<asp:webpartzone ID="WebPartZone1" runat="server" PartChromeType="None" >
<ZoneTemplate>
.
.
.
<a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet Profile</a><br />
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=181772605219534&xfbml=1"></script><fb:like href="" send="false" layout="button_count" width="50" show_faces="false" font="trebuchet ms"></fb:like>
<br/>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone size="medium" count="true"></g:plusone>
.
.
</ZoneTemplate>
</asp:webpartzone>
<asp:webpartzone ID="WebPartZone2" runat="server" Width="100%"
PartChromeType="None">
.
.
.
</asp:webpartzone>
</asp:updatepanel>
<script type="text/javascript">
function pageLoad() {
$.getScript("http://platform.twitter.com/widgets.js");
}
</script>
这在 twitter 推文按钮的部分回发后重新加载了损坏的 javascript,它工作正常。但是,当我替换 javascripts 时,facebook 和 google plus 按钮不会发生同样的情况。我正在使用 ASP.NET 4 和 c#。我怎样才能解决这个问题??