2011-04-01 47 views
0

我有一個問題,關於使用ASP .NET應用程序中的GridView,ObjectDataSource發生的情況。如何防止GridView將數據保存到Visual Studio中構建

GridView鏈接到ObjectDataSource並且兩者都包括在UpdatePanel內讓在GridView從在同一頁中,因此獲得了更多行的形式以異步方式來填補在用戶輸入的數據:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager>  
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
      DataSourceID="ObjectDataSource1"> 
      <Columns> 
       <asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True" 
        SortExpression="Name" /> 
       <asp:BoundField DataField="Periodicty" HeaderText="Periodicty" ReadOnly="True" 
        SortExpression="Periodicty" /> 
      </Columns> 
     </asp:GridView> 
     <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
      SelectMethod="GetSessionNames" TypeName="Simulation"></asp:ObjectDataSource> 
     <asp:Label ID="Label27" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="NewWebSessionButton" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 

我用Visual Studio 2008開始項目,填寫表單並且它能正常工作。然後我停止執行:再次重新運行,並且我在前一次運行中輸入的數據位於GridView。就像某種緩存保存了會話之前的數據。我檢查了屬性爲ObjectDataSource設置爲false。

如果我在Visual Studio中重建網站(不只是生成),那麼它工作正常,使GridView空。

這是由於Visual Studio造成的嗎?它可以關閉嗎?它會在最終的IIS中運行嗎?

非常感謝。

回答

1

您是否檢查過您的瀏覽器是否緩存頁面?我有類似的問題與此有關。

我最終添加了一些方法到我的基頁來調用來停止正在緩存的頁面。

如:

/// <summary> 
/// Set the page to not Cache 
/// </summary> 
protected void DontCache() 
{ 
    try 
    { 
     //Dont Cache 
     Response.Expires = 0; 
     Response.Cache.SetNoStore(); 
     Response.AppendHeader("Pragma", "no-cache"); 
    } 
    catch (Exception) 
    { 
     throw; 
    } 
}