嵌套更新面板

时间:2011-11-16 14:14:36

标签: asp.net ajax gridview asp.net-ajax updatepanel

我使用了2个更新面板,彼此嵌套 第一个更新面板包含GridView1 第二个更新面板包含GridView2。 Gridview2包含GridView3。但GridView3只显示数据。它没有rowcommand或任何事件。

我的问题是点击GridView2中的按钮。触发GridView1和GridView2的rowcommand事件。但是,我不希望触发GridView1的Rowcommand事件。

我如何实现它。请尽快帮助我。

我将updatemode设置为有条件的up1和amp; up2 - >没工作。 我将updatemode设置为条件,并将childrenAsTriggers设置为up1和amp; up2 - >没有工作。

我将updatemode设置为有条件的up1和amp; up2并定义了up1的触发器 - >没工作 我将updatemode设置为有条件的up1和amp; up2并定义了up2的触发器 - >没工作 我将updatemode设置为有条件的up1和amp; up2并定义了两者的触发器 - >没有工作。


这些是我尝试过的触发器

1)内部更新面板的触发器:

<Triggers>
  <asp:AsyncPostBackTrigger ControlID="GridView2" EventName="RowCommand" />
</Triggers>

2)外部更新面板的触发器:

<Triggers>
  <asp:AsyncPostBackTrigger ControlID="GridView1" EventName="RowCommand" />
</Triggers>

<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:GridView ID="GridView1" ....
                  OnRowCreated="GridView1_RowCreated"
                  OnRowDataBound="GridView1_RowDataBound"
                  OnRowCommand="GridView1_RowCommand">

(...)

  <td>
    <asp:UpdatePanel ID="up2" runat="server" UpdateMode="Conditional">
      <ContentTemplate>
        <asp:GridView ID="GridView2"
                      OnRowCreated="GridView2_RowCreated"
                      OnRowDataBound="GridView2_RowDataBound"
                      OnRowCommand="GridView2_RowCommand">

          <asp:GridView ID="GridView3" ....>
          </asp:GridView>
        </asp:GridView>
      </ContentTemplate>
    </asp:UpdatePanel>
  </td>

(...)

</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

可以使用UpdatePanel完成吗?或者有其他选择吗?请提出你的建议。

提前致谢。

0 个答案:

没有答案