我想在我的asp.net网页上显示一个加载指示器,而我的gridview正在填充数据
这是我的aspx页面的一部分
<script type="text/javascript" src="Scripts/jsUpdateProgress.js"></script>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Panel ID="panelUpdateProgress" runat="server" CssClass="updateProgress">
<asp:UpdateProgress ID="UpdateProg1" DisplayAfter="0" runat="server">
<ProgressTemplate>
<div style="position: relative; top: 30%; text-align: center;">
<img src="Styles/images/loading.gif" style="vertical-align: middle" alt="Processing" />
Loading...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="ModalProgress" runat="server" TargetControlID="panelUpdateProgress"
BackgroundCssClass="modalBackground" PopupControlID="panelUpdateProgress" />
(我的代码基于此示例weblogs.asp.net/blogs/guillermo/Code/modalExample.zip)
这是我调用方法的按钮
<asp:UpdatePanel ID="updatePanel" runat="server">
<ContentTemplate>
<asp:Button ID="btMonth" runat="server" onclick="btMonth_Click" Text="Ver" />
</ContentTemplate>
</asp:UpdatePanel>
这是我的方法btMonth_Click
的c#代码 protected void btMonth_Click(object sender, EventArgs e)
{
string query = "select * from table";
SqlDataSource1.SelectCommand = query;
gInd.DataSourceID = "SqlDataSource1";
}
正如您在“加载”指示符出现时所看到的那样我想要填充GridView,但是当我在我的按钮中单击调用方法btMonth_Click时,该方法被执行但我的gridview没有被填充。如果我删除了我的按钮的asp:UpdatePanel,我的gridview就可以了。
我有什么遗失的吗?
答案 0 :(得分:2)
您需要将GridVew
放在UpdatePanel
内以便部分呈现
如果出于设计原因,您无法将网格放在第一个 UpdatePanel
内,您可以拥有多个UpdatePanel
欲了解更多信息:
答案 1 :(得分:0)
尝试添加:
gInd.DataBind();
在你的btMonth_Click中(顺便说一下,更好的命名约定是btnMonth_Click)
protected void btMonth_Click(object sender, EventArgs e)
{
string query = "select * from table";
SqlDataSource1.SelectCommand = query;
gInd.DataSourceID = "SqlDataSource1";
gInd.DataBind();
}