2012-05-07 12 views
0

ListViewコントロールを使用してデータベースからデータを照会して表示するASP .NET Webアプリケーションがあります。ブラウザでWebアプリケーションを実行すると正常に動作しますが、データベース内で何かを削除または追加してから、Webアプリケーションが実行されているブラウザを更新すると、その出力は更新されません。更新時にWeb Appを更新するにはどうすればよいですか?リフレッシュ時にWebアプリケーションが更新されない

これは、リストビューのコードです:

まあ
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource"> 
    <ItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Label ID="HotfixIDLabel" runat="server" Text='<%# Eval("HotfixID") %>' /> 
      </td> 
      <td> 
      <asp:Label ID="DescriptionLabel" runat="server" 
        Text='<%# Eval("Description") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' /> 
      </td> 
     </tr> 
    </ItemTemplate> 
    <AlternatingItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Label ID="HotfixIDLabel" runat="server" Text='<%# Eval("HotfixID") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="DescriptionLabel" runat="server" 
        Text='<%# Eval("Description") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' /> 
      </td> 
     </tr> 
    </AlternatingItemTemplate> 
    <EmptyDataTemplate> 
     <table runat="server" style=""> 
      <tr> 
       <td> 
        No data was returned.</td> 
      </tr> 
     </table> 
    </EmptyDataTemplate> 
    <InsertItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
        Text="Insert" /> 
       <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
        Text="Clear" /> 
      </td> 
      <td> 
       <asp:TextBox ID="HotfixIDTextBox" runat="server" 
        Text='<%# Bind("HotfixID") %>' /> 
      </td> 
      <td> 
       <asp:TextBox ID="DescriptionTextBox" runat="server" 
        Text='<%# Bind("Description") %>' /> 
      </td> 
      <td> 
       <asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date") %>' /> 
      </td> 
     </tr> 
    </InsertItemTemplate> 
    <LayoutTemplate> 
     <table runat="server" border="0"> 
      <tr runat="server"> 
       <td runat="server"> 
        <table ID="itemPlaceholderContainer" runat="server" style=""> 
         <tr runat="server" style=""> 
           <th id="Th1" runat="server" align="left"> 
       <asp:LinkButton ID="LinkButton0" runat="server" CommandName="Sort" CommandArgument="HotfixID" Width="140">Update ID</asp:LinkButton></th> 
      <th id="Th2" runat="server"> 
       <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Sort" CommandArgument="Description" Width="600">Description</asp:LinkButton> </th> 
      <th id="Th3" runat="server"> 
       <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Sort" CommandArgument="Date" Width="100">Date</asp:LinkButton> </th> 
         </tr> 
         <tr ID="itemPlaceholder" runat="server"> 
         </tr> 
        </table> 
       </td> 
      </tr> 
      <tr runat="server"> 
       <td runat="server" style=""> 
       </td> 
      </tr> 
     </table> 
    </LayoutTemplate> 
    <EditItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
        Text="Update" /> 
       <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
        Text="Cancel" /> 
      </td> 
      <td> 
       <asp:TextBox ID="HotfixIDTextBox" runat="server" 
        Text='<%# Bind("HotfixID") %>' /> 
      </td> 
      <td> 
       <asp:TextBox ID="DescriptionTextBox" runat="server" 
        Text='<%# Bind("Description") %>' /> 
      </td> 
      <td> 
       <asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date") %>' /> 
      </td> 
     </tr> 
    </EditItemTemplate> 
    <SelectedItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Label ID="HotfixIDLabel" runat="server" Text='<%# Eval("HotfixID") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="DescriptionLabel" runat="server" 
        Text='<%# Eval("Description") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' /> 
      </td> 
     </tr> 
    </SelectedItemTemplate> 
</asp:ListView> 
<asp:SqlDataSource ID="SPDataSource" runat="server" 
    ConnectionString="<%$ ConnectionStrings:addremovefinalConnectionString %>" 
    SelectCommand="sp_getupdatesSP_v3" SelectCommandType="StoredProcedure" 
    onselecting="SPDataSource_Selecting"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="ComboBox1" Name="param" 
      PropertyName="SelectedValue" Type="String" /> 
    </SelectParameters> 
</asp:SqlDataSource> 
+0

コードを貼り付けてください。 – Saurabh

+0

最初にキャッシュされますか? – V4Vendetta

+0

キャッシュされているかどうかはわかりません。 Visual Studioから作成された単なるASP .NET Web Appです。 – user919789

答えて

3

、コメントは明らかにページがキャッシュされている、に示唆したように。あなたのページの先頭にディレクティブを追加することでこれを確認することができます

<%@ OutputCache Location="None" %> 

データベースはしかし、すべての要求のためにヒットされることを意味します。より良い解決策として、SQL cache dependenciesを調べることをおすすめします。

0

データベースを照会している時点で、手動でページを更新するのではなく、ポストバックを引き起こし、データをリフレッシュするサーバー側のボタンがあるため、ユーザーはデータをキャッシュしません。

あなたが手動でページを更新していると言ったデータベースを更新している間に、これがキャッシュデータを取得している可能性があります。

私は、データベースを更新した後、サーバー側からページを再度ロードする(新しいデータでコントロールを再バインドする)ことをお勧めします。

関連する問題