2011-10-26 5 views
0

asp.net ajaxでは、待機処理が実行されていることをユーザーに示すコントロールはありますか? アニメーションを表示する必要があります。Asp.Netでajaxが制御していますか?

protected void Button1_Click(object sender, EventArgs e) 
{ 
    //Thread.Sleep(1500); 


    string sqr = "select * from Pra_Region"; 
    da = new SqlDataAdapter(sqr, con); 
    ds = new DataSet(); 
    da.Fill(ds); 
    grdProduct.Visible = true; 
    grdProduct.DataSource = ds; 
    grdProduct.DataBind(); 

} 

答えて

2

これを実現するには、UpdateProgressコントロールを使用できます。 AJAX postbackが発生すると、UpdateProgessコンテナ内に何かを表示できます。以下の例を見てみましょう。私はそれがGridViewのを示していないGridViewのデータをバインドする場合

<script runat="server"> 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     Thread.Sleep(200); 
     tt.InnerText = DateTime.Now.ToShortTimeString(); 
     grid.DataSource = new List<object> 
           { 
            new {Name = "Munim", Age = 2, Time = DateTime.Now.ToShortTimeString()}, 
            new {Name = "Rashim", Age = 3, Time = DateTime.Now.ToShortTimeString()}, 
            new {Name = "Robin", Age = 25, Time = DateTime.Now.ToShortTimeString()} 
           }; 
     grid.DataBind(); 
    } 
</script> 

<form id="form1" runat="server"> 
<asp:ScriptManager runat="server" ID="sm"> 
</asp:ScriptManager> 
<div> 
    <asp:UpdatePanel runat="server" ID="UpdPnl1" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:DataGrid runat="server" ID="grid"></asp:DataGrid> 
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="click" /> 
      <div id="tt" runat="server"> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    <asp:UpdateProgress ID="updQuoteProgress" runat="server" AssociatedUpdatePanelID="UpdPnl1" 
     DisplayAfter="0"> 
     <ProgressTemplate> 
      Loading...</ProgressTemplate> 
    </asp:UpdateProgress> 
</div> 
</form> 

はあなたDataSet

protected void Button1_Click(object sender, EventArgs e) 
{ 
    //Thread.Sleep(1500); 


    string sqr = "select * from Pra_Region"; 
    da = new SqlDataAdapter(sqr, con); 
    ds = new DataSet(); 
    da.Fill(ds); 
    grdProduct.Visible = true; 
    grdProduct.DataSource = ds.Tables[0]; 
    grdProduct.DataBind(); 

} 
+0

でテーブルを使用してください。私はボタンクリックイベントでdatbaをgridviewにバインドするコードを書く。それはグリッドビューを表示していません。 –

+0

@Suryasasidharあなたは 'dataGrid.DataBind()'を呼び出そうとしましたか?上記のコードを更新しました。どうぞご覧ください –

+0

コードを表示します –

関連する問題