マスターページにスクリプトマネージャーがあります:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptLocalization ="true" EnableScriptGlobalization ="true" EnablePartialRendering="true" >
</asp:ScriptManager>
MyPage.aspx (マスター ページの contentplaceholder に配置)
<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional" EnableViewState="true">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnRefresh" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:PlaceHolder ID="placeHolder1" runat="server" EnableViewState="true"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
MyPage.aspx スクリプト:
$(document).ready(function () {
setInterval(myfun, 20000);
});
function myfun() {
var btn = document.getElementById('<%=btnRefresh.ClientID%>');
btn.click();
}
プレース ホルダーには、ユーザー コントロールを含む動的に作成されたテーブルを配置しています。ページの読み込み時に、ページにユーザー コントロールが表示されます。しかし、20 秒後に非同期ポストバックが呼び出されると、ユーザー コントロールが表示されません。firebug を使用すると、ユーザー コントロールが存在することがわかります。しかし、それらはレンダリングされません。非同期ポストバックで再度作成していますが。それらは空に見えます。ヘルプ。