【问题标题】:updatepanel refresh the whole page when put it in an html tableupdatepanel 将其放入 html 表时刷新整个页面
【发布时间】:2016-08-31 11:07:39
【问题描述】:

这是我组织页面的方式:

<table>
     <asp:UpdatePanel ID="ctlUpdatePanel" runat="server">
            <ContentTemplate>
     <td>
     </td>
     <td>
          //asp:button
     </td>
             </ContentTemplate>               
      </asp:UpdatePanel>
     <td>
            //some items
     </td>
</table>

当我单击第二个td 中的asp:button 时,我不想刷新第三个td

但是点击会刷新整个页面。似乎更新面板不起作用?为什么>

【问题讨论】:

  • asp:UpdatePanel 转换为 div - 您不能在 tabletd 之间嵌套 div - 将面板移动到 td &lt;td&gt;&lt;asp:UpdatePanel&gt;...&lt;/asp:UpdatePanel&gt;&lt;/td&gt; 内以更新来自外部的面板,有某种“目标”属性(自从我使用过时的 asp.net 已经有很多年了,所以不是一个完整的答案)。
  • 第一个td 和第二个td 应该在单击其中的按钮时相互刷新。但是第一个td 中的按钮是在页面加载时动态生成的。那么如何在第二个td 中设置更新面板的触发器
  • 快速 SO 搜索:stackoverflow.com/questions/17876779/… 添加一个 &lt;asp:ASyncPostBackTrigger,然后从您的动态按钮触发它(可能使用内容内的隐藏按钮作为您的触发器)。

标签: jquery html asp.net updatepanel


【解决方案1】:

正如freedomn-m 所说,您不能将UpdatePanel 放在那个位置,因为它等同于这个无效的HTML:

<table>
     <div>
         <td>
         </td>
         <td>
             //asp:button
         </td>
     </div>
     <td>
         //some items
     </td>
</table>

您可以将 UpdatePanel 插入表格的单元格中,并将其内容放入内部表格中:

<table>
    <tr>
        <td>
            <asp:UpdatePanel ID="ctlUpdatePanel" runat="server">
                <ContentTemplate>
                    <table>
                        <tr>
                            <td>
                                // other content
                            </td>
                            <td>
                                // asp:button
                            </td>
                        </tr>
                    </table>
                </ContentTemplate>
            </asp:UpdatePanel>
        </td>
        <td>
            // other items
        </td>
    </tr>
</table>

【讨论】:

  • 这样做的问题是内表不会有与外表相同的列。在此处的示例中,只有一行,但在 OPs 代码中没有行,因此可能猜测有不止一行,并且每一行都有不同的列。除非你固定 c 的列宽。
  • 我同意。我没有在这里详细介绍,但我可以建议将所有表(内部和外部)的cellpaddingcellspacing 设置为零,并将一个类样式应用于外部表,另一个应用于内部表以修复列宽。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2010-09-07
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
相关资源
最近更新 更多