0

我有一个文本框和一个按钮,当我按下这个按钮时,gridview 会根据我在 TextBox 中写入的数据进行绑定。它的数据非常大,因此在 GridView 中搜索、绑定和显示数据需要时间。所以我想像加载图像一样使用 UpdateProgress 但我的 GridView 在 UpdatePanel 中。

当我按下 Search Button 时会发生回发,因为我在 UpdatePanel 中不包括 TextBox 和 Button。我已经尝试过了,但无法实现所需的功能。

<asp:UpdateProgress AssociatedUpdatePanelID= "UpdatePanel1" ID="UpdateProgressSearch"  runat="server">
        <ProgressTemplate>
        <asp:Image ID="ImageSearch" ImageUrl="images/updateProgress.gif" runat="server"/>
        </ProgressTemplate>
        </asp:UpdateProgress>

问候, 维维克

4

2 回答 2

0

您必须使用搜索按钮添加异步回发触发器作为控件,然后单击事件名称到更新面板的触发器集合中

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="[your search button id]" EventName="Click" />      
</Triggers>

尝试使用简单的文本而不是像“正在加载..或更新..”这样的图像,如果更新面板更新时会显示,那么问题出在图像 url,所以再次检查并更新它。

编辑:

确保您在表单中添加了脚本管理器。

更新了完整代码

<asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Search" />
    <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            your data to update in your case gridview
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
        <ProgressTemplate>
            Loading...
        </ProgressTemplate>
    </asp:UpdateProgress>
于 2013-11-20T10:55:19.117 回答
0

如果您的 Button 控件不在更新面板内,则需要在按钮控件中添加异步回发标签。如下

<asp:Button runat="server" Text="btnFind"  Onclick="btnFind_Click"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
      <!-- Your Work Goes Here (your grid view control is here)-->
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnFind" EventName="OnClick" />      
     </Triggers>
</asp:UpdatePanel>
于 2013-11-20T10:13:13.553 回答