2012-12-02 59 views
0

我使用的是更新面板和放置的SqlDataSource和GridView的AJAX的GridView不更新

我設置timercontrol爲asyncpostback觸發,但是當我改變從記錄在GridView不更新的ContentTemplate內相關表中SQLSERVER加什麼就顯得更爲瘋狂的是,已刪除的記錄仍處於網格視圖,當我做刷新(頁的全文後回) 此外,我已經停用緩存但是數據源這AINT wrking HELP顯示出來! !!!!

這裏是我的代碼

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" 
     Inherits="_Default" %> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
    </div> 





    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"> 

    <ContentTemplate> 
    <div id="ajx"> 
    <div> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:busConnectionString %>" 
      SelectCommand="SELECT * FROM [reserv]" EnableCaching="false" CacheDuration="0" CacheExpirationPolicy="Absolute" EnableViewState="false"></asp:SqlDataSource> 
    </div> 
    <div> 
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
      DataSourceID="SqlDataSource1" EnableModelValidation="True"> 
      <Columns> 
       <asp:BoundField DataField="SeatNo" HeaderText="SeatNo" 
        SortExpression="SeatNo" /> 
       <asp:BoundField DataField="Status" HeaderText="Status" 
        SortExpression="Status" /> 
      </Columns> 
     </asp:GridView> 
    </div> 
    <div> 
     <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick"> 

     </asp:Timer> 
    </div> 

    <div> 
     <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 
    </div> 

    </div> 
    </ContentTemplate> 

    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="Timer1"/> 
    </Triggers> 



    </asp:UpdatePanel> 




    </form> 
</body> 
</html> 

回答

1

你必須手動數據綁定在計時器上的每一跳的數據源和GridView。
以下內容添加到您的Timer1_Tick事件:

protected void Timer1_Tick(object sender, EventArgs e) 
    { 
     SqlDataSource1.DataBind(); 
     GridView1.DataBind(); 
    } 
+0

我要尋找一個聲明方法... – user1797079

+0

你說的*聲明方法意味着*? – Blachshma

+0

聲明性含義我想使用ASPX標記(不ofcourse代碼標籤(<% %>),而不是代碼隱藏方法,這樣我二硝基甲苯甲肝使用ado.net到數據集或數據表中代碼隱藏爲u建議結合。 – user1797079