【问题标题】:Gridview outside UpdatePanel not showingUpdatePanel 外的 Gridview 未显示
【发布时间】:2014-04-10 14:16:12
【问题描述】:

我在列表视图中找到的按钮中有一个 ItemCommand 事件。

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
    <asp:ListView ID="systemsView" runat="server" 
        onitemcommand="systemsView_ItemCommand">
        <ItemTemplate>
            <asp:Button ID="btnView" runat="server" Text='<%#Eval("SYSTEM_DESC") %>' CommandArgument='<%# Eval("ROW_ID")%>'
                class="systemButtonStyle" />
        </ItemTemplate>
    </asp:ListView>
</ContentTemplate>                        
</asp:UpdatePanel>

当 itemCommand 被触发时,我想绑定另一个不在更新面板内的 gridview。触发事件时未显示网格视图。请问有什么办法可以解决这个问题吗?

【问题讨论】:

  • 网格视图也应该在更新面板中

标签: c# asp.net gridview updatepanel itemcommand


【解决方案1】:

由于UpdatePanels 仅对其ContentTemplate 内的控件执行回发,所有预计将由部分回发更新的控件必须位于同一UpdatePanel 的ContentTemplate 中。

如果您需要更新 UpdatePanel 之外的内容,并使用其部分回发中发生的操作,您将不得不重新考虑您对 UpdatePanel 的使用。

两种解决方案:

  • 将另一个 GridView 添加到 UpdatePanel 的 ContentTemplate。

  • 完全删除UpdatePanel 并使用正常的PostBack。

【讨论】:

  • 我添加了另一个更新面板并按我的意愿工作。谢谢
  • 另一种方法是调用一些 javascript 来单击按钮以填充更新面板外的 gridview。我总是这样做,因为我发现页面有多个更新面板,迟早会做一些奇怪的事情。
  • 是的,使用现代 jQuery,UpdatePanel 已经有些被弃用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
相关资源
最近更新 更多