Récupération URL

Signaler
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005
-
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
-
Je voudrai récupérer l'url de la page précédente dans une variable mais je ne
sais pas comment faire merci de m'aider

11 réponses

Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
Je pense qu'il faut que tu puisses faire ca en Javascript. Mais le probleme est que je pense pas que tu puisses recuperer la valeur dans une variable ASP (l'eternel probleme du client/Serveur...) En revanche, si cela t'importe tellement d'avoir l'URL de la page parente, pourquoi ne pas la passer a la page fille par un POST par exemple ? Sinon, je vois pas comment tu pourrais faire autrement....
Messages postés
18
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
10 octobre 2005

Tu devrais l'avoir dans la variable d'environnement : Request.ServerVariables("HTTP_REFERER")
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

Pour la variable elle me donne exactement ce que je cherche, mais j'arrive pas
à faire fonctionner ça :

'Url de la page précédente
Dim url as string


Sub Page_Load(Sender As Object, E As EventArgs)


If Not IsPostBack Then
url = Request.ServerVariables("HTTP_REFERER")
response.write (url)
End If


End Sub


Sub btnAjout_Click(sender As Object, e As EventArgs)


'Validation de l'ajout dans une base

'Redirection
response.redirect(url)
End Sub

La valeur de 'url' est null quand je clique sur le bouton
donc pas de redirection et surtout un gros plantage !
Messages postés
20
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
16 mars 2005

salut,

Mets un champ caché dans ta page avec un runat=server. Tu pourras y stocker ta valeur.

ex :

'Url de la page précédente
Dim url as string
Sub Page_Load(Sender As Object, E As EventArgs)


If Not IsPostBack Then



Dim provenance
As
String = UrlUtils.referer(Request)



If
Not (provenance
Is
Nothing)
Then
prov.Value = provenance
response.write (provenance)

End
If

End If


End Sub


Sub btnAjout_Click(sender As Object, e As EventArgs)


'Validation de l'ajout dans une base

'Redirection
response.redirect(prov.Value)
End Sub

C'est peut-être pas la meilleur solution, mais ça doit marcher.

Bon code,
Thierry
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
Il y a un autre moyen moins prise de tete, je crois...

Dim url as string


Sub Page_Load(Sender As Object, E As EventArgs)


If Not IsPostBack Then
response.write("<SCRIPT>history.go(-1);</SCRIPT>")
End If


End Sub


Sub btnAjout_Click(sender As Object, e As EventArgs)


'Validation de l'ajout dans une base

'Redirection
response.redirect(url)
End Sub

Une seule ligne apres le If... Ca utilise le Javascript, mais comme ca, il n'y a pas d'erreur d'URL, je crois
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
Tu peux meme retirer ton "Dim Url As string"
lol
Messages postés
20
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
16 mars 2005

Salut,

Ben, si tu fais ça :

Sub Page_Load(Sender As Object, E As EventArgs)


If Not IsPostBack Then
response.write("<SCRIPT>history.go(-1);</SCRIPT>")
End If


End Sub

à chaque fois que tu arriveras sur ta page, tu seras renvoyé vers la page précedente
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
clair, desole, mais bon, reprends la ligne
response.write("<SCRIPT>history.go(-1);</SCRIPT>")
et tu l'adaptes a ton code comme bon te semble... Si j'ai bien compris, le but est de rappeler la page précédente selon des conditions. Tu fais tes IF nécessaires et tu mets la ligne...
Messages postés
20
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
16 mars 2005

Si tu as des PostBack sur ta page, ça ne marche plus, à moins de compter le nombre de PostBack et de faire un history.go(-n)
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

Le problème de cette méthode en javascript est qu'elle ne recharge pas la page précédente
elle réaffiche celle qu'elle a en cache, comme sur précédent dans le navigateur : (

Mais merci quand même AshenShugar, j'y avais pensé mais je ne savais plus
comment écrire ça .
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
Moué, bon, je vais aller me spécialiser sur le forum javascript alors.... lol C'est sur que si tu ne veux pas faire de "précédent" mais réactualiser la page, ca marche pas... Alors je ne peux pas t'aider, désolé !