In Page_Load, I call a method that just lists some data that comes from my database. But, if I navigate through my web site, and then return to this same link that just lists some data, the method doesn’t pass through the Page_Load, and then shows the old data values.
Why is my Page_Load called only once ?
My page_load
protected void Page_Load(object sender, EventArgs e)
{
this.CarregaList();
}
My CarregaList method
protected void CarregaList()
{
Utilidade.Conexao con = new Utilidade.Conexao();
dsChave.ConnectionString = con.Con;
#region :::: Montando o Select da lista ::::
//// Parametros do Usuário,podem ser pegos pelo token
Utilidade.QuebraToken tk = new Utilidade.QuebraToken();
int Acesso = Convert.ToInt32(tk.CarregaToken(15, Request.Cookies["token"].Value));
int IdUsuario = Convert.ToInt32(tk.CarregaToken(0, Request.Cookies["token"].Value));
int Celula = Convert.ToInt32(tk.CarregaToken(21, Request.Cookies["token"].Value));
int Credenciada = Convert.ToInt32(tk.CarregaToken(1, Request.Cookies["token"].Value));
StringBuilder sbSelect = new StringBuilder();
string selectx = "SELECT top 10 San_Chave.Chave_Id, San_Chave.Usuario_Id, San_Chave.Credenciada_Id, San_Chave.Usuario_Id_Responsavel, San_Chave.DataHora, San_Chave.Transacao, "
+ "San_Chave.Cliente_Id, San_Chave.DataHoraPegou, San_Chave.DataHoraDevolverPrevisao, San_Chave.DataHoraEntregou, San_Chave.HorasDevolucao, "
+ "San_Chave.NomeResponsavel, San_Chave.CpfResponsavel, San_Chave.RgResponsavel, San_Chave.TelResponsavel, San_Chave.Tel2Responsavel, "
+ "San_Chave.Endereco, San_Chave.Devolvido, San_Chave.TextoDevolucao, San_Usuario.NomeCompleto AS NomeUsuarioVenda, view_Cliente.NomeCliente "
+ "FROM San_Chave "
+ "JOIN San_Usuario "
+ "ON San_Chave.Usuario_Id_Responsavel = San_Usuario.Usuario_Id "
+ "LEFT OUTER JOIN view_Cliente "
+ "ON San_Chave.Cliente_Id = view_Cliente.Cliente_Id "
+ "where (San_Chave.Devolvido = 0 or San_Chave.Devolvido is NULL) ";
sbSelect.Insert(0, selectx);
if (Acesso == 0)
{
sbSelect.Append(" and San_Chave.Credenciada_Id = " + Credenciada);
}
if (Request.QueryString["data"] != null)
{
sbSelect.Append(" and ( San_Usuario.NomeCompleto like '%" + Request.QueryString["data"].ToString() + "%' or San_Chave.DataHoraPegou like '%" + Request.QueryString["data"].ToString() + "%' or San_Chave.NomeResponsavel like '%" + Request.QueryString["data"].ToString() + "%' or view_Cliente.NomeCliente like '%" + Request.QueryString["data"].ToString() + "%' )");
}
if (Request.QueryString["transacao"] != null)
{
sbSelect.Append(" and San_Chave.Transacao = " + Convert.ToInt32(Request.QueryString["transacao"]));
}
#endregion
dsChave.SelectCommand = sbSelect.ToString();
}
My markup
<%@ Page Title="" Language="C#" MasterPageFile="~/San/masterPage/San.Master" AutoEventWireup="true" CodeBehind="ListaChaves.aspx.cs" Inherits="Ui.San.Chaves.ListaChaves" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="contentConteudo" runat="server">
<div class="divLightBox" title="Devolução de Chave" id="DevolucaoBox"></div>
<%--Aqui vem o Topo de Informaçoes da Lista--%>
<div id="InfoLista">
<div id="InfoListaDados">
<div id="InfoListaTabela">
<table width="640" border="0" cellspacing="0" cellpadding="0"
style="margin-right: 0px">
<tr>
<td width="189" align="left" style="width: 440px">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td >
<input id="InputBusca" type="text" value="Procurar Chaves: Nome responsável ou data" /></td>
<td width="75"><img src="../tema/_Internas/imgs/btnBusca.jpg" id="btnBuscar" style="cursor:pointer;"/></td>
</tr>
</table>
</td>
<td width="40" align="right">
<table border="0" cellspacing="0" cellpadding="3" style="width: 69px">
<tr align="center">
<td>
<img alt="" class="style4" src="../tema/_Internas/icons/date.png" /></td>
</tr>
<tr class="FonteLegenda">
<td align="center">Marcar Entrega</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="189" colspan="2" align="left" style="width: 440px">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
Transação:
<select id="transacao">
<option value="0">Venda/Aluguel</option>
<option value="1">Venda</option>
<option value="2">Aluguel</option>
</select>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</div>
<div>
<p><strong>Exibindo resultado por</strong></p>
<p><strong>Responsável ou data</strong>: <%= buscaData(Request.QueryString["data"])%> </p>
<p><strong>Tipo de Transação</strong>: <%= buscaTransacao(Request.QueryString["transacao"])%></p>
</div>
<asp:ListView ID="lv_chave" runat="server" DataSourceID="dsChave"
EnableModelValidation="True" DataKeyNames="Chave_Id" >
<EmptyDataTemplate>
<table id="Table1" runat="server" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
nada encontrado
</td>
</tr>
</table>
</EmptyDataTemplate>
<GroupTemplate>
<tr ID="itemPlaceholderContainer" runat="server">
<td ID="itemPlaceholder" runat="server">
</td>
</tr>
</GroupTemplate>
<ItemTemplate>
<table width="680" border="0" cellspacing="0" cellpadding="0" id='boxCliente_<%# Eval("Chave_Id") %>'>
<tr>
<td>
<div class="BoxDeDados <%# Eval("Chave_Id") %>">
<div id="transacao_Id" style="display:none;"><%# Eval("Transacao")%></div>
<div id="imovel_Id" style="display:none;"> <%# carregaImovel_Id(Eval("Chave_Id").ToString())%></div>
<div id="cliente_Id" style="display:none;"> <%# Eval("Cliente_Id")%> </div>
<div class="BoxBarraTitulo"> Expira em <%# Eval("HorasDevolucao")%> Hs Transação:</b> <%# transacao(Eval("Transacao").ToString()) %></div>
<table width="676" border="0" cellspacing="0" cellpadding="0" class="TxtInter2">
<tr>
<td width="225" height="36" bgcolor="#F4F0EF" >
<b>Data de retirada:</b><br />
<%# Dt(Eval("DataHoraPegou").ToString(),"dddd dd/MM/yyyy") %>- <b><%# Dt(Eval("DataHoraPegou").ToString(),"HH:mm") %></b>
</td>
<td width="393" bgcolor="#F4F0EF">
<b>Previsão de devolução:</b><br />
<%# Dt(Eval("DataHoraDevolverPrevisao").ToString(), "dddd dd/MM/yyyy")%>- <b><%# Dt(Eval("DataHoraDevolverPrevisao").ToString(), "HH:mm")%></b>
</td>
<td width="58" bgcolor="#F4F0EF" align="center"><b>Editar<br>Status:</b></td>
</tr>
<tr>
<td height="27">
<span class="TxtInter3"><b>Responsável: </b><%# Responsavel(Eval("Transacao").ToString(), Eval("NomeResponsavel").ToString(), Eval("NomeUsuarioVenda").ToString())%></span>
</td>
<td align="center">
<%# carregaChaves(Eval("Chave_Id").ToString())%>
</td>
<td align="center" valign="top"><%# Icon(Eval("Chave_Id").ToString())%></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</ItemTemplate>
<LayoutTemplate>
<table ID="groupPlaceholderContainer" runat="server" border="0" style="">
<tr id="Tr1" runat="server" style="">
<th id="Th1" runat="server"></th>
</tr>
<tr ID="groupPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
</asp:ListView>
<asp:SqlDataSource ID="dsChave" runat="server"></asp:SqlDataSource>
</asp:Content>
As inferred from the comments i think you are presented with the cached version of the page by the browser to avoid this in IE9
Go to
Since its displaying the cached version the
page_loadof your page is not hit.Few more tips
This should work for you.