私はデータバインドを持っていますasp:GridView
:
<asp:GridView ID="gridUsers" runat="server" ShowHeaderWhenEmpty="True" Width="100%" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="UserGUID" HeaderText="UserGUID" SortExpression="UserGUID" Visible="False" />
<asp:HyperLinkField DataNavigateUrlFields="UserGUID" DataNavigateUrlFormatString="~\UserManagement\UserProperties.aspx?userGuid={0}" DataTextField="Username" HeaderText="User name" SortExpression="Username" />
<asp:BoundField DataField="Fullname" HeaderText="Full name" SortExpression="Fullname" />
<asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description"/>
<asp:BoundField DataField="Email" HeaderText="E-mail" SortExpression="Email"/>
<asp:BoundField DataField="IsActive" HeaderText="Active" SortExpression="IsActive" Visible="False" />
<asp:BoundField DataField="AuthenticationType" HeaderText="Account type" SortExpression="AuthenticationType" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:db %>"
SelectCommand="SELECT UserGUID, Username, Fullname, Description, Email, IsActive, AuthenticationType FROM Users WHERE IsActive = 1 ORDER BY Username">
</asp:SqlDataSource>
対応するコード ビハインドを使用:
public partial class FooItToHoo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
ページを参照すると、グリッドが正しく表示されます。
しかし、戻って次に進む(または別のページに移動して戻る)と、グリッドは空です:
F5 キーを押すと、ページが更新され、グリッドが表示され、入力されます。
私は何を間違っていますか?
更新: 私のページの最初のリクエストはキャッシュされません。サーバーからの応答は次のとおりです。
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Wed, 13 Jun 2012 13:16:32 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 53219
Connection: Close
asp:GridView
コンテンツが提供された html でレンダリングされている場合:
離れてからBackに移動すると、サーバー要求は行われません。そのため、ページはキャッシュから提供する必要があります。
レンダリングされたページにコンテンツが含まれているが、「キャッシュされた」ページには含まれていないという ASP.net の処理は何ですか?