bug sur les linkbutton dans un controle utilisateur web
Bonjour,
J'ai déjà plusieurs sites web à mon actif en asp.net avec des contrôles utilisateurs pour la connexion des clients dans chacune des pages et là je ne sais pas pourquoi, dans certaines pages, mes linkbutton et j'ai essayé en utilisant des button, j'arrive au même résultat, tous me renvoi automatiquement à ma page default.aspx sans avoir fait les opérations liées au bouton.
Mon gros problème est qu'en local tous marche parfaitement dans toute les pages du site mais dès que je met les pages en ligne, sur les pages de chapitres et pages de contenu, impossible de faire fonctionner les boutons, à chaque clic j'ai un retour sur la page default.aspx sans qu'aucun evenement ne se produise.
Pour voir le site : http://www.s-n-l.fr au départ le bloc de login en haut à gauche présent sur la page d'accueil l'était sur toute les pages du site sauf la page login.aspx et la page register.aspx (voir site http://www.huilesrares.com où ce bloc login marche très bien dans toute les pages). mais comme les boutons de connexion et rappel de mot de passe au lieu de s'exécuter normalement renvoyait vers la page d'accueil sans s'exécuter, j'ai du supprimer ce bloc de presque toute les pages.
Du coup, j'ai aussi du supprimer le formulaire d'envoi de message mail qui ne fonctionnait pas dans la page contact et fesait la même chose soit un retour vers la page d'accueil sans que l'envoi de mail soit exécuté.
Merci de votre aide, je m'arrache les cheveux d'autant qu'en local tous marche et que les sites web huiles rares et s-n-l.fr sont hébergés sur le même serveur d'après mon hébergeur donc pas de différence de ce côté là et j'ai refait mes pages plusieurs fois sans succès.
quelqu'un aurait il déjà rencontré ce problème ?
j'ai bien une page d'erreur erreur.aspx
En fait cela n'a rien à voir avec une erreur car j'ai bien une page d'erreur dans mon global asa qui renvoi vers erreur.aspx, cette page marche bien en cas d'erreur dans une page mais dans le cas présent, il ne considère pas qu'il y a une erreur dans l'exécution de la page, cela ressemble plutôt a un redirect automatique comme avec FormsAuthentication.RedirectFromLoginPage, sauf que l'authentification ne se fait pas et que je n'ai aucun ordre qui explique pourquoi il y a un retour vers la page d'accueil dès que j'utilise un bouton dans ces pages là.
le problème ne se produisant en plus pas dans toute les pages du site, seulement les pages chap.aspx, page.aspx et prod.aspx pour les autres pages comme default.aspx, login.aspx, register.aspx, je n'ai aucun problème et je n'ai jamais de page d'erreur, seulement une redirection vers la page d'accueil sans exécution des événements liés aux boutons.
Pour info mon global.asax
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
' Se déclenche lorsqu'une erreur se produit
Dim ex As System.Exception = Server.GetLastError().GetBaseException
Dim message As New MailMessage
Dim m As String
message.From = "contact@site.com"
message.To = "info@site.com"
message.Subject = "::: Erreur S.N.L. :::"
m = "<b>Erreur sur le site de la S.N.L.</b><br><br>" & _
"Message : " & ex.Message.ToString() & "<Br><Br>" & _
"Détails : <br><br>" & _
"Utilisateur : " & Session("Customer") & "<br><br>" & _
"Nom utilisateur : " & Session("FullName") & "<br><br>" & _
"Date : " + DateTime.Now.ToString() + "<br><br>" & _
"Pile : " + ex.StackTrace.ToString() + "<br><br>" & _
"Source : " + ex.Source.ToString() + "<br><br>" & _
"Url :" + Request.Url.ToString()
message.BodyFormat = MailFormat.Html
message.Priority = MailPriority.High
message.Body = m
SmtpMail.SmtpServer = "smtp.site.com"
SmtpMail.Send(message)
End Sub |
HELP !!!
Merci mais c'est malheureusement pas encore ça.
Merci, j'ai effectivement vérifié mon usercontrol :
Code:
<%@ Control Language="vb" AutoEventWireup="true" Codebehind="Boutique.ascx.vb" Inherits="sable_normalise.Boutique" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
et dans la page Boutique.ascx.vb:
Code:
Public Class Boutique
cette partie correspondant à mon menu de droite au complet donc aussi avec les produits phares.
Et comme le problème vient de certaines pages mais pas de toute les pages, j'ai aussi vérifié mes pages contenant ce usercontrol :
Code:
<%@ Register TagPrefix="Droit" TagName="Boutique" Src="Boutique.ascx" %>
Code:
1 2 3
| <div id="Droit">
<DROIT:BOUTIQUE id="Boutique" runat="server" SelectedIndex="0"></DROIT:BOUTIQUE>
</div> |
et ton idée était bonne mais non, le problème ne vient pas de là.
dans toute mes pages, j'utilise URLRewriter et je n'ai pas de problème avec celles qui ne font intervenir que la langue : default_fr.aspx, default_en.aspx,... ou catalogue_fr.aspx, catalogue_en.aspx par contre dès qu'il y a plus de paramètre cela provoque le bug, je n'arrive pas à savoir si ces deux évènements sont liés mais si qulqu'un avait déjà rencontré le problème, merci de votre aide,
Pour info mes rewriter :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <RewriterRule>
<LookFor>~/Default_(.*).aspx</LookFor>
<SendTo>~/Default.aspx?lg=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Catalogue_(.*).aspx</LookFor>
<SendTo>~/Catalogue.aspx?lg=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Chap_(.*)_(.*)_(.*)_(.*).aspx</LookFor>
<SendTo>~/Chap.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Page_(.*)_(.*)_(.*)_(.*).aspx</LookFor>
<SendTo>~/Page.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule> |
Agnès H.
bug sur la réécriture de l'url
Bon merci titom, tu m'as mise sur la piste et j'ai trouvé le bug qui vient effectivement de la réécriture de la page, en effet, si j'ai l'url :
Code:
http://www.s-n-l.fr/Chap_fr_2_CERTIF_certifications.aspx
pas de problème, ma page s'affiche correctement sauf que lorsque j'execute un évenemenyt bouton, il essaye de me renvoyer vers ma page
Code:
http://www.s-n-l.fr//Chap.aspx?lg=fr&code=CERTIF&selectmenu=2
et là je ne sais pas pourquoi mais il me renvoie automatiquement sur la page d'accueil default.aspx
est-ce que quelqu'un sait pourquoi il fait cela et comment je peux conserver la réécriture de mes pages tout en me permettant d'exécuter des actions bouton dans les pages.
Merci de votre aide,
PS et pourquoi cela marche quand il n'y a qu'un seul request params dans la page mais pas quand il y en a plusieurs ?????
faute de frappe mais pas dans la page
malheureusement le // était juste une faute de frappe dans mon texte, existe t'il quelques part une explication sur l'utilisation d'urlrewriter qui expliquerait mon bug ?
Merci de ton aide.
Finalement bug sur URL rewriter
Bonjour,
Finalement, mon bug vient d'URL rewriter que j'ai récupéré il y a longtemps
jusqu'ici je n'avais jamais eu de problème et là pour une raison que j'ignore je n'arrive plus à lire directement la page d'origine lorsque je suis en ligne. En local tous fonctionne sans problème.
Je m'explique et d'abord voici mon code de redirection des pages pour renommer mes URL :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Catalogue_(.*)\.html</LookFor>
<SendTo>~/Catalogue.aspx?lg=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Catalogue_(.*)\.aspx</LookFor>
<SendTo>~/Catalogue.aspx?lg=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Default_(.*)\.aspx</LookFor>
<SendTo>~/Default.aspx?lg=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Default_(.*)\.html</LookFor>
<SendTo>~/Default.aspx?lg=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Chap_(.*)_(.*)_(.*)_(.*)\.html</LookFor>
<SendTo>~/Chap.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Chap_(.*)_(.*)_(.*)_(.*)\.aspx</LookFor>
<SendTo>~/Chap.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Page_(.*)_(.*)_(.*)_(.*)\.aspx</LookFor>
<SendTo>~/Page.aspx?lg=$1&code=$3&selectmenu=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Page_(.*)_(.*)_(.*)_(.*)\.html</LookFor>
<SendTo>~/Page.aspx?lg=$1&code=$3&selectProd=$2</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers> |
Voilà pour le code de réécriture des url, maintenant mon problème vient du faites que la page
Chap_fr_6_CONTACT_contact.html ou .aspx marche très bien par contre la page Chap.aspx?lg=fr&code=CONTACT&selectemenu=6 me renvoie de manière très étrange et incompréhensible vers la page default.html alors que j'ai une page d'erreur défini dans mon global.asax qui est erreur.aspx
cette page d'erreur fonctionne sur de vrais bug genre page 404 ou mauvaise définition de paramètres d'entrées mais dans le cas de la page chap.aspx, pas de bug juste retour vers la page d'accueil.
J'ai ce problème avec les pages chap.aspx et page.aspx par contre la page catalogue marche très bien sous la forme : catalogue_fr.html comme sous la forme catalogue.aspx?lg=fr
est-ce que quelqu'un a une idée d'où peut provenir ce problème ?
Sachant que pour compliquer le problème en local tous fonctionne cortrectement et toute mes pages s'affichent :
Chap.aspx?lg=fr&code=CONTACT&selectemenu=6 comme la page Chap_fr_6_CONTACT_contact.html
Merci de votre aide et surtout merci à TITOM59 qui m'a permis de trouver le problème car en effet, lorsqu'un événement bouton est executé, l'URL de la page de postback redeviens Chap.aspx?lg=fr&code=CONTACT&selectemenu=6, comme cette page n'arrive pas à s'exécuter, j'ai un retour vers la page d'accueil sans que l'évènement lié au bouton s'exécute.
HELP ????