4

我需要在我的站点中更新图像而不在页面中回发。因此,我将图像加载到 ad-rotator 中以在图像之间切换。

我还使用了计时器滴答功能来刷新广告旋转器中的图像。

但是,当定时器滴答功能刷新整个页面时,我在页面中声明的所有函数都会被重新加载。

我只需要广告轮播图像中的图像应该刷新而不是整个页面。

我需要避免整个页面刷新。请帮助我。

$(document).ready(function() {
    setInterval(function() {
        $('#<% = addrotat.ClientID %>').load(location.href + ' #<% = addrotat.ClientID %> ', '' + Math.random() + '');
    }, 5000);
});
4

2 回答 2

5

您需要使用 ajax,通过使用带有适当触发器的更新面板,更新面板使页面的各个部分能够在没有回发的情况下部分呈现。

<asp:UpdatePanel ID="up1" runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="yourControl" EventName="yourControlEvent" />
        </Triggers>
        <ContentTemplate> your  content goes here       </ContentTemplate>

    </asp:UpdatePanel>    

你可以检查这个链接

更新面板,带有触发器

更新面板文档

不刷新页面的 adrotator 示例

于 2012-01-30T16:02:29.210 回答
2
//auto refresh clock without postback

<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <script type="text/vbscript" runat ="server" >
                Private Sub fun()
                    label.Text = Now.ToString
                End Sub
            </script>
        </asp:ScriptManager>
        <div>
            <asp:UpdatePanel ID="up1" runat="server">
                <ContentTemplate ></ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="tim" EventName="Tick" />
                </Triggers>
                <ContentTemplate>  
                    <asp:Timer ID="tim" Interval ="1000" Enabled ="true " OnTick ="fun" runat ="server" ></asp:Timer>
                    <asp:Label ID="label" runat ="server" Text="DD/MM/YY"></asp:Label>     
                </ContentTemplate>
            </asp:UpdatePanel>  
        </div>
    </form>
</body>
于 2014-07-08T04:26:09.883 回答