我有一个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>