フェイスブックのようなボタンとグーグル+ボタンをウェブパーツ内に配置しました。ウェブパーツは更新パネル内にあります。問題は、更新パネルを介して非同期ポストバックが行われると、fbボタンとg+ボタンが消えることです。
以前に同様の問題に直面したTwitterボタンもあります。更新パネルの外にtwitterjavascriptを配置した後、これが機能するようになりました。
<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とgoogleplusボタンでは起こりません。ASP.NET 4とc#を使用しています。どうすればこれを修正できますか?