【IT168技术文档】
为了更好的显示加载的效果,,asp.net ajax控件里有UpdateProgress非常常用,就可以实现这个功能。
default.aspx设计代码如下:
default.cs:<form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label2" runat="server" Text="请输入用户名"></asp:Label><input type="text" id="text2" /><asp:Button ID="Button2" runat="server" Text="查询" onclick="Button1_Click" /> <asp:UpdateProgress ID="UpdateProgress1" runat="server"> <ProgressTemplate> 正在加载数据............. </ProgressTemplate> </asp:UpdateProgress> <asp:GridView ID="GridView1" runat="server" Width="347px" AllowPaging="True" AutoGenerateColumns="False" PageSize="2" onpageindexchanging="GridView1_PageIndexChanging"> <Columns> <asp:BoundField HeaderText="编号" DataField="id"/> <asp:BoundField HeaderText="用户名" DataField="UserName"/> <asp:BoundField HeaderText="密码" DataField="PassWord"/> <asp:BoundField HeaderText="类别" DataField="unit"/> </Columns> </asp:GridView> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" /> </Triggers> </asp:UpdatePanel> </div> </form>
protected void Button1_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(3000); databind(); } public void databind() { string sql = "SELECT [id], [UserName], [PassWord], [unit] FROM [UserTable]"; string con = "Data Source=.;Initial Catalog=OfficeData;Persist Security Info=True;User ID=sa;Password=1234"; SqlConnection mycon = new SqlConnection(con); mycon.Open(); SqlDataAdapter mydt = new SqlDataAdapter(sql, mycon); DataSet ds = new DataSet(); mydt.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); mycon.Close(); } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; databind(); }