Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Url Rewrite une autre question

3 réponses
Avatar
Bonjour,
J'ai mis en place un module HTTP qui gère l'URL rewriting. Lorsque le client
clique sur MonProduitNumero.aspx il est redirigé vers Produit.aspx?id=2.
ça fonctionne bien.
Par contre lorsque j'ai un boutton ou autre control server sur ma page
Produit.aspx qui va effectuer un post sur lui meme, l'URL rewriting ne
fonctionne plus.
En fait le formulaire de Produit.aspx a pour variable "Action"
Produit.aspx?id=2 et pas MonProduitNumero.aspx. Du coup le module de
réecriture d'URL cherche l'équivalent de Produit.aspx qu'il ne trouve
et....erreur 404.
Comment faire pour que ma page conserve l'URL réecrite comme variable
"destination" plutot que l'url réel avec les variables du request ?

Merci de votre aide.

3 réponses

Avatar
JohnPaulGeorgesRingo
bonjour !
je galère moi aussi avec l'url rewriting

qui aurait un exemple (un simple projet avec une page aspx (vb) + le
web.config)
merci de me dépanner
(nota je dois gérer des url avec 5 variables
Produit.aspx?idproda&Id=7&Cat!&ISelect=1&idcat=0)

merci

<r> a écrit dans le message de news:
eV%
Bonjour,
J'ai mis en place un module HTTP qui gère l'URL rewriting. Lorsque le
client
clique sur MonProduitNumero.aspx il est redirigé vers Produit.aspx?id=2.
ça fonctionne bien.
Par contre lorsque j'ai un boutton ou autre control server sur ma page
Produit.aspx qui va effectuer un post sur lui meme, l'URL rewriting ne
fonctionne plus.
En fait le formulaire de Produit.aspx a pour variable "Action"
Produit.aspx?id=2 et pas MonProduitNumero.aspx. Du coup le module de
réecriture d'URL cherche l'équivalent de Produit.aspx qu'il ne trouve
et....erreur 404.
Comment faire pour que ma page conserve l'URL réecrite comme variable
"destination" plutot que l'url réel avec les variables du request ?

Merci de votre aide.




Avatar
Le système mis en place fonctionne mais j'ai un problème avec les postbacks.
J'ai trouvé 2 moyens pour régler le problème mais ce n'est pas encore
satisfaisant :
1/ Modifier les URLs rewriting pour que les pages réels et les URLS virtuels
pointent sur le même repertoire :
ex : www.monsite.com/Produit/Produit.aspx?id=1 ->
www.monsite.com/Produit/Produit1.aspx
Là, le postback fonctionne bien mais j'ai dans le source HTML renvoyé par le
serveur l'URL initiale avec les paramètres. Il est donc facile de retrouver
l'URL de base en faisant un view source.
2/ Réecriture de l'objet HTMLForm
cf exemple ci-dessous
http://msdn.microsoft.com/asp.net/using/building/web/default.aspx?pull=/library/en-us/dnaspp/html/urlrewriting.asp
En gros, on crée son propre formulaire en supprimant la propriété "action"
qui contient l'URL initiale.
ça marche aussi mais du coup l'utilisation des controls validator pose
problème, du moins ça ne fonctionne plus sur mon formulaire.

Donc je cherche encore....

"JohnPaulGeorgesRingo"
wrote in message news:4378a0be$0$6665$
bonjour !
je galère moi aussi avec l'url rewriting

qui aurait un exemple (un simple projet avec une page aspx (vb) + le
web.config)
merci de me dépanner
(nota je dois gérer des url avec 5 variables
Produit.aspx?idproda&Id=7&Cat!&ISelect=1&idcat=0)

merci

<r> a écrit dans le message de news:
eV%
> Bonjour,
> J'ai mis en place un module HTTP qui gère l'URL rewriting. Lorsque le
> client
> clique sur MonProduitNumero.aspx il est redirigé vers Produit.aspx?id=2.
> ça fonctionne bien.
> Par contre lorsque j'ai un boutton ou autre control server sur ma page
> Produit.aspx qui va effectuer un post sur lui meme, l'URL rewriting ne
> fonctionne plus.
> En fait le formulaire de Produit.aspx a pour variable "Action"
> Produit.aspx?id=2 et pas MonProduitNumero.aspx. Du coup le module de
> réecriture d'URL cherche l'équivalent de Produit.aspx qu'il ne trouve
> et....erreur 404.
> Comment faire pour que ma page conserve l'URL réecrite comme variable
> "destination" plutot que l'url réel avec les variables du request ?
>
> Merci de votre aide.
>
>




Avatar
Aurel
Bonjour,

il faut créer son propre form ou action aura la valeur Request.RawUrl

public string action
{
get
{
_action = HttpContext.Current.Request.RawUrl;

return _action;
}
}

protected override void RenderAttributes(HtmlTextWriter output)
{
if(action==null)
{
base.RenderAttributes(output);
}
else
{
output.WriteAttribute("action",action);
output.WriteAttribute("method",base.Method);
output.WriteAttribute("id",this.FormName);//base.ID);
output.WriteAttribute("name",this.FormName);//base.Name);
if(base.Enctype != "")
output.WriteAttribute ("enctype", base.Enctype);
}
}

et il reposte sur ton url de départ...

@+
Auré



<r> a écrit dans le message de news:
%23Go8W%
Le système mis en place fonctionne mais j'ai un problème avec les
postbacks.
J'ai trouvé 2 moyens pour régler le problème mais ce n'est pas encore
satisfaisant :
1/ Modifier les URLs rewriting pour que les pages réels et les URLS
virtuels
pointent sur le même repertoire :
ex : www.monsite.com/Produit/Produit.aspx?id=1 ->
www.monsite.com/Produit/Produit1.aspx
Là, le postback fonctionne bien mais j'ai dans le source HTML renvoyé par
le
serveur l'URL initiale avec les paramètres. Il est donc facile de
retrouver
l'URL de base en faisant un view source.
2/ Réecriture de l'objet HTMLForm
cf exemple ci-dessous
http://msdn.microsoft.com/asp.net/using/building/web/default.aspx?pull=/library/en-us/dnaspp/html/urlrewriting.asp
En gros, on crée son propre formulaire en supprimant la propriété "action"
qui contient l'URL initiale.
ça marche aussi mais du coup l'utilisation des controls validator pose
problème, du moins ça ne fonctionne plus sur mon formulaire.

Donc je cherche encore....

"JohnPaulGeorgesRingo"
wrote in message news:4378a0be$0$6665$
bonjour !
je galère moi aussi avec l'url rewriting

qui aurait un exemple (un simple projet avec une page aspx (vb) + le
web.config)
merci de me dépanner
(nota je dois gérer des url avec 5 variables
Produit.aspx?idproda&Id=7&Cat!&ISelect=1&idcat=0)

merci

<r> a écrit dans le message de news:
eV%
> Bonjour,
> J'ai mis en place un module HTTP qui gère l'URL rewriting. Lorsque le
> client
> clique sur MonProduitNumero.aspx il est redirigé vers
> Produit.aspx?id=2.
> ça fonctionne bien.
> Par contre lorsque j'ai un boutton ou autre control server sur ma page
> Produit.aspx qui va effectuer un post sur lui meme, l'URL rewriting ne
> fonctionne plus.
> En fait le formulaire de Produit.aspx a pour variable "Action"
> Produit.aspx?id=2 et pas MonProduitNumero.aspx. Du coup le module de
> réecriture d'URL cherche l'équivalent de Produit.aspx qu'il ne trouve
> et....erreur 404.
> Comment faire pour que ma page conserve l'URL réecrite comme variable
> "destination" plutot que l'url réel avec les variables du request ?
>
> Merci de votre aide.
>
>