【问题标题】:How to make update panel not update whole page?如何使更新面板不更新整个页面?
【发布时间】:2011-12-08 19:54:03
【问题描述】:

我有一个更新面板,其中有一个包含 4 个图像的表格。每隔几秒钟就会显示一个新图像。所有这些都有效,但是当图像更改时,整个页面都会刷新。

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

我只想刷新更新面板中的图像。我该怎么做?

更新面板代码:

<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>

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    在updatepanel中添加一个trigger child,把timer id放在ControlID所在的地方,比如Timer1。

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2018-05-21
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多