Ca fait longtemps que je cherche la soluce.
J'ai essayé plusieurs chose, mais ca ne me convient pas :
- Pragma nocache
- response.cache.setExpires(DateTime.now.AddSeconds(-1))
et d'autre chose.
Je vous presente mon probleme .
Avec le code qui suit, vous comprendrez mieux.
donc, je veux que quand on est sur le default2.aspx, et que l'on revient avec l'history.back (page précédente du navigateur), on recharge la page que l'on recharge le ddl.
C'est pas trop compliqué, peut etre que j'ai mal utilisé le "response.cache.setExpires(DateTime.now.AddSeconds(-1))" mais j'arrive pas au résultat désiré. merci pour vos réponse.
je me demandais si un server.transfert pourrait m'aider. bref... merci d'avance..
Désolé pour la présentation de ce qui suit, mais je ne sais pas comment faire mieux, je sais, ca prend de la place, mais voila :
Voici les 4 fichiers :
-------------------------------------------------------------------------------------------------
Option
StrictOnImports
Microsoft.VisualBasicPublic
Class enregistrementPrivate m_IdEnregistrement As System.Guid = System.Guid.NewGuidPrivate m_Enregistrement AsStringPublicProperty IdEnregistrement() As System.GuidGetReturn m_IdEnregistrementEndGetSet(ByVal value As System.Guid)m_IdEnregistrement = value
EndSetEndPropertyPublicProperty Enregistrement() AsStringGetIf m_Enregistrement.Length > 50 Thenm_Enregistrement = m_Enregistrement.Substring(0, 49)
EndIfReturn m_EnregistrementEndGetSet(ByVal value AsString)m_Enregistrement = value
EndSetEndPropertyPublicSubNew(ByVal Enregistrement AsString)m_Enregistrement = Enregistrement
EndSubPublicSubNew(ByVal Enregistrement AsString, _ByVal IdEnregistrement As System.Guid)m_Enregistrement = Enregistrement
m_IdEnregistrement = IdEnregistrement
EndSubPublicSubNew()EndSubEnd
Class-------------------------------------------------------------------------------------------------
Option
StrictOnImports
Microsoft.VisualBasicPublic
Class EnregistrementDataHelperPrivate m_strConnectionString AsString = ""PublicProperty ConnectionString() AsStringGetIf m_strConnectionString = ""Thenm_strConnectionString =
"ma chaine de connexion"EndIfReturn m_strConnectionStringEndGetSet(ByVal value AsString)m_strConnectionString = value
EndSetEndPropertyPrivate m_objSqlHelper As SQLHelperPrivateReadOnlyProperty SqlHelper() As SQLHelperGetIf m_objSqlHelper IsNothingThen' Si le SqlHelper n'est pas instancié, on crée une nouvelle instancem_objSqlHelper =
New SQLHelper(Me.ConnectionString)EndIfReturn m_objSqlHelperEndGetEndPropertyPublicSub InsertEnregistrement(ByVal Enregistrement As enregistrement)' Execution de l'insertion en base de donnéesMe.SqlHelper.ExecuteNonQuery(Data.CommandType.StoredProcedure, _"Enregistrement_INSERT", _New System.Data.SqlClient.SqlParameter("@Enregistrement", Enregistrement.Enregistrement))EndSubPublicFunction Get_Enregistrement_Select() As System.Collections.Generic.List(Of enregistrement)' Création d'une liste générique de EnregistrementDim listEnregistrements AsNew System.Collections.Generic.List(Of enregistrement)' Récupération de la liste des Enregistrements en base de donnéesDim dtEnregistrements As System.Data.DataTable = Me.SqlHelper.GetDataTable(Data.CommandType.StoredProcedure, "Get_Enregistrement_Select")' Vérification de la présence de EnregistrementsIfNot dtEnregistrements IsNothingThenForEach drEnregistrement As System.Data.DataRow In dtEnregistrements.Rows' Création d'un objet FacureDim objEnregistrement AsNew enregistrement(CStr(drEnregistrement("Enregistrement")), _CType(drEnregistrement("IdEnregistrement"), Guid))' Ajout à la collection générique des EnregistrementlistEnregistrements.Add(objEnregistrement)
NextEndIfReturn listEnregistrementsEndFunctionEnd
Class-------------------------------------------------------------------------------------------------
Option
StrictOnImports
Microsoft.VisualBasicPublic
Class SQLHelperPrivate m_strConnectionString AsString = ""PublicProperty ConnectionString() AsStringGetReturn m_strConnectionStringEndGetSet(ByVal value AsString)m_strConnectionString = value
EndSetEndPropertyPublicSubNew(ByVal ConnectionString AsString)m_strConnectionString = ConnectionString
EndSubPublicFunction GetDataSet(ByVal CommandType As System.Data.CommandType, _ByVal CommandText AsString, _ByValParamArray CommandParameters() As System.Data.SqlClient.SqlParameter) _As System.Data.DataSet' Création d'un DataSetDim objDataSet AsNew System.Data.DataSet' Création d'une ConnectionDim objConnection AsNew System.Data.SqlClient.SqlConnection' Création d'une CommandDim objCommand AsNew System.Data.SqlClient.SqlCommand' Création d'un DataAdapterDim objAdapter AsNew System.Data.SqlClient.SqlDataAdapterTry' Affection de la chaîne de connexionobjConnection.ConnectionString =
Me.ConnectionString' Ouverture de la ConnectionobjConnection.Open()
' Affectation de la Connection à la CommandobjCommand.Connection = objConnection
' Affectation du type de CommandobjCommand.CommandType = CommandType
' Affectation du texte de la CommandobjCommand.CommandText = CommandText
IfNot CommandParameters IsNothingThen' Si les Parameter sont présents, on les ajoute à la CommandForEach Parameter As System.Data.SqlClient.SqlParameter In CommandParametersobjCommand.Parameters.Add(Parameter)
NextEndIf' Affectation de la Command en tant que SelectCommand du DataAdapterobjAdapter.SelectCommand = objCommand
' Récupération du DataSetobjAdapter.Fill(objDataSet)
' Fermeture de la ConnectionobjConnection.Close()
Catch ex As ExceptionThrowEndTryReturn objDataSetEndFunctionPublicFunction GetDataTable(ByVal CommandType As System.Data.CommandType, _ByVal CommandText AsString, _ByValParamArray CommandParameters() As System.Data.SqlClient.SqlParameter) _As System.Data.DataTable' Récupération des résultatsDim dsResults As System.Data.DataSet = Me.GetDataSet(CommandType, CommandText, CommandParameters)' Verification du DataSet et des DataTableIfNot dsResults IsNothingAndAlso _dsResults.Tables.Count > 0
ThenReturn dsResults.Tables(0)ElseReturnNothingEndIfEndFunctionPublicFunction GetDataRow(ByVal CommandType As System.Data.CommandType, _ByVal CommandText AsString, _ByValParamArray CommandParameters() As System.Data.SqlClient.SqlParameter) _As System.Data.DataRow' Récupération des résultatsDim dtResults As System.Data.DataTable = Me.GetDataTable(CommandType, CommandText, CommandParameters)' Verification de la DataTable et des DataRowIfNot dtResults IsNothingAndAlso _dtResults.Rows.Count > 0
ThenReturn dtResults.Rows(0)ElseReturnNothingEndIfEndFunctionPublicFunction ExecuteScalar(ByVal CommandType As System.Data.CommandType, _ByVal CommandText AsString, _ByValParamArray CommandParameters() As System.Data.SqlClient.SqlParameter) _AsObject' Création d'un ObjectDim objResult AsObject' Création d'une ConnectionDim objConnection AsNew System.Data.SqlClient.SqlConnection' Création d'une CommandDim objCommand AsNew System.Data.SqlClient.SqlCommandTry' Affection de la chaîne de connexionobjConnection.ConnectionString =
Me.ConnectionString' Ouverture de la ConnectionobjConnection.Open()
' Affectation de la Connection à la CommandobjCommand.Connection = objConnection
' Affectation du type de CommandobjCommand.CommandType = CommandType
' Affectation du texte de la CommandobjCommand.CommandText = CommandText
IfNot CommandParameters IsNothingThen' Si les Parameter sont présents, on les ajoute à la CommandForEach Parameter As System.Data.SqlClient.SqlParameter In CommandParametersobjCommand.Parameters.Add(Parameter)
NextEndIf' Récupération du résultatobjResult = objCommand.ExecuteScalar
' Fermeture de la ConnectionobjConnection.Close()
Catch ex As ExceptionThrowEndTryReturn objResultEndFunctionPublicFunction ExecuteNonQuery(ByVal CommandType As System.Data.CommandType, _ByVal CommandText AsString, _ByValParamArray CommandParameters() As System.Data.SqlClient.SqlParameter) _AsInteger' Création d'un IntegerDim intResult AsInteger' Création d'une ConnectionDim objConnection AsNew System.Data.SqlClient.SqlConnection' Création d'une CommandDim objCommand AsNew System.Data.SqlClient.SqlCommandTry' Affection de la chaîne de connexionobjConnection.ConnectionString =
Me.ConnectionString' Ouverture de la ConnectionobjConnection.Open()
' Affectation de la Connection à la CommandobjCommand.Connection = objConnection
' Affectation du type de CommandobjCommand.CommandType = CommandType
' Affectation du texte de la CommandobjCommand.CommandText = CommandText
IfNot CommandParameters IsNothingThen' Si les Parameter sont présents, on les ajoute à la CommandForEach Parameter As System.Data.SqlClient.SqlParameter In CommandParametersobjCommand.Parameters.Add(Parameter)
NextEndIf' Récupération du résultatintResult = objCommand.ExecuteNonQuery
' Fermeture de la ConnectionobjConnection.Close()
Catch ex As ExceptionThrowEndTryReturn intResultEndFunctionEnd
Class-------------------------------------------------------------------------------------------------
<%
@PageLanguage="VB"AutoEventWireup="false"CodeFile="Default.aspx.vb"Inherits="_Default" %><!
DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><
htmlxmlns="http://www.w3.org/1999/xhtml"><
headrunat="server"><title>Page sans titre</title></
head><
body><formid="form1"runat="server"><div><asp:LabelID="Label1"runat="server"Text="L'enregistrement"></asp:Label><br/><asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><br/> <br/><asp:DropDownListID="DropDownList1"runat="server"></asp:DropDownList><br/><br/><asp:ButtonID="Button1"runat="server"Text="Button"/></div></form></
body></
html>-------------------------------------------------------------------------------------------------
Option
StrictOnPartial
Class _DefaultInherits System.Web.UI.PageProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.LoadDim EnregistrementDH AsNew EnregistrementDataHelperDim listeEnregistement AsNew System.Collections.Generic.List(Of enregistrement)listeEnregistement = EnregistrementDH.Get_Enregistrement_Select()
Me.DropDownList1.DataSource = listeEnregistementMe.DropDownList1.DataValueField = "IdEnregistrement"Me.DropDownList1.DataTextField = "Enregistrement"Me.DropDownList1.DataBind()EndSubProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.ClickDim EnregistrementDH AsNew EnregistrementDataHelperDim Enregistement AsNew enregistrement(Me.TextBox1.Text)EnregistrementDH.InsertEnregistrement(Enregistement)
Me.Response.Redirect("~/Default2.aspx")EndSubEnd
Class-------------------------------------------------------------------------------------------------
<%
@PageLanguage="VB"AutoEventWireup="false"CodeFile="Default2.aspx.vb"Inherits="Default2" %><!
DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><
htmlxmlns="http://www.w3.org/1999/xhtml"><
headrunat="server"><title>Page sans titre</title></
head><
body><formid="form1"runat="server"><div></div></form></
body></
html>-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------