如果控件Button在UpdatePanel之外,如何使用UpdateProgress



我有一个TextBox和一个按钮,当我按下这个按钮时,网格视图将根据我在TextBox中写入的数据进行绑定。它的数据非常大,因此在GridView中搜索、绑定和显示数据需要时间。所以我想使用类似于lodaing图像的UpdateProgress但是我的GridView在UpdatePanel中。

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

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

谨致问候,Vivek

如果您的Button控件不在更新面板内,则需要使用按钮控件添加assync回发标记。类似于

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

您必须将异步post-back触发器添加到更新面板的触发器集合中,其中搜索按钮作为控件,点击作为事件名称

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

相关内容

  • 没有找到相关文章

最新更新