我需要帮助。我有一个点击按钮后触发的进度条。此按钮在SQL中运行存储过程,它将更新我稍后为gridview绑定的表,在运行存储过程后执行代码以更新gridview。问题是,在进度条出来后,我预计gridview会自动刷新/更新但是没有发生。请帮忙。
ASPX - GridView:
<asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center">
<asp:UpdatePanel ID="UpdatePanel9" ChildrenAsTriggers="false" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<table cellpadding="0" cellspacing="0">
<asp:GridView ID="GridExportExcel" runat="server" >
...........Blah
</table>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnExecSP" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</asp:Panel>
进度:
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DynamicLayout="false">
<ProgressTemplate>
<asp:Image ID="loading" runat="server" ImageUrl="loading.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
按钮后面的代码: - 此存储过程大约需要3分钟。
DataTable dt = new DataTable();
GridExportExcel.DataSource = dt;
GridExportExcel.DataBind();
//UpdatePanel9.Update();
string connectionString = WebConfigurationManager.ConnectionStrings["SQLConnectionString"].ConnectionString;
string selectSQL = "exec dbo.StoredPRoc'" + txtcomp.Text + "','" + TextBox2.Text + "'";
DataTable DT = new DataTable();
DT = ExecGetData(selectSQL);
header(); //Update the Gridview.
谢谢 - 伦兹
嗨布莱恩,谢谢你的回复。我不允许在表中创建索引。我做了一些工作并删除了进度条,它工作正常,虽然查询/ storedproc仍然执行3分钟。 gridview现在正在更新。如何在没有超时的情况下显示进度条?有没有办法做到这一点?感谢您的回复。提前谢谢。
答案 0 :(得分:0)
你很有可能超时,因此新的结果不会回来。要验证这一点,请尝试绑定到只需几秒钟运行的测试查询,并查看结果是否从中返回。如果这是真的,那么它就是查询。
您是否可以对查询进行任何效率,例如应用索引或使用替代查询方法?运行Web应用程序需要3分钟。