如何让更新面板不更新整页?

时间:2011-10-16 18:01:23

标签: asp.net vb.net visual-studio-2008 .net-3.5 updatepanel

我有一个更新面板,其中有一个包含4张图像的表格。每隔几秒钟显示一个新图像。这一切都有效,但当图像发生变化时,整个页面都会刷新。

我正在使用Visual Studio 2008和VB.Net 3.5。

我只想刷新updatepanel中的图片。我怎么能这样做?

UpdatePanel代码:

<asp:UpdatePanel runat="server" ID="upImgSwitch" UpdateMode="Always">
    <ContentTemplate>
        <table height="200px" width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td width="200px">
                    <asp:Image runat="server" ID="ImgBox1" />
                </td>
                <td width="200px">
                    <asp:Image runat="server" ID="ImgBox2" />
                </td>
                <td width="200px">
                    <asp:Image runat="server" ID="ImgBox3" />
                </td>
                <td width="200px">
                    <asp:Image runat="server" ID="ImgBox4" />
                </td>
            </tr>
        </table>
    </ContentTemplate>
</asp:UpdatePanel>

2 个答案:

答案 0 :(得分:0)

可能需要将UpdatePanels UpdateMode设置为UpdateMode =“Conditional”。只要页面上的任何UpdatePanel刷新,任何设置为“Always”的都会更新,而如果将其设置为“Conditional”,则只有在包含控件触发事件或者在其上调用UpdatePanel.Update()时才会更新

答案 1 :(得分:0)

将一个触发子项添加到updatepanel,并将timer id放在ControlID所在的位置,例如Timer1。

<asp:UpdatePanel runat="server" ID="upImgSwitch" UpdateMode="Always">
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="timer1" EventName="Tick" />
  </Triggers>
  <ContentTemplate>

希望这会有所帮助。