begin process at 2012 05 28 04:41:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

Probeleme d'héritage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probeleme d'héritage

vendredi 5 août 2005 à 13:16:02 | Probeleme d'héritage

Horfee

J'ai un problème d'héritage : En fait pour mon site il me faut un systeme de login. Chaque page devra etre accessible suivant le niveau d'authentification. Pour faire ca j'ai créé une classe "Page_Standard" qui herite de System.Web.UI.Page. J'y ai donc rajouter les attributs qu'il me fallait etc. Ensuite j'ai surchargé la procédure OnLoad dans laquelle j'ai mis mon algorithme d'authentification. Et pour faire marcher le tout, ma page web, qui sera affichée, herite non plus de System.Web.UI.Page mais de Page_Standard... Voilà le code : Public Class ajouter_commercial Inherits Page_Standard #Region " Code généré par le Concepteur Web Form " . . . Private Sub Load(...) MyBase.Load ... Response.write(msgbox("Coucou")) End sub Et la classe de base : Public Class Page_Standard Inherits System.Web.UI.Page ... Protected Overloads Overrides Sub OnLoad(ByVal e As System.EventArgs) . . . End Sub End Class Le système d'authentification marche tres bien : l'utilisateur se voit rejeté en cas d'accès à une page non autorisée. Le probleme, c'est que la procédure Form_Load de ma classe hérité n'est pas executée (On ne voit aucun message "Coucou") D'ou vient le pb ?
vendredi 5 août 2005 à 14:33:59 | Re : Probeleme d'héritage

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
en fait : regarde le code que tu as mis :

Private Sub Load(...) MyBase.Load
...
Response.write(msgbox("Coucou"))
End sub

je pense qu'il doit te faire une erreur comme quoi msgbox is not a function ? ;)

response.write("coucou") serait mieux ! voir meme label1.text = "coucou" ou alors mettre un point d'arret sur le page_load ... :)

par contre j'ai des doutes sur ta facon de faire :-/ pourquoi n'utilises tu pas le web.config pour ton systeme d'authentification ? (c'est pas un reproche, ca peut etre utile de pas l'utiliser :p) et ausis pourquoi met tu le code dans le load de la page ? et pourquoi overrides tu l'evenement onload (d'ailleur j'espere que t'as pas oublié le mybase.onload(e) ? )

moi je ferais

public class PageStandard
inherits page

protected sub page_init(sender as object, e as eventargs) handles mybase.init
'ici le traitement d'authentication

if user = "toto" pass = "1234" then
isauth = true
else
response.redirect("error.aspx", true)
end if

end sub

end class


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
vendredi 5 août 2005 à 16:26:48 | Re : Probeleme d'héritage

Horfee

lol Merci d'avoir pris la peine de me répondre. En fait j'ai trouvé d'ou venait le problème : je surchargais le mauvais ...truc ! En fait il fallait simplement que je surcharge la procédure associée à l'evennement, et non la surcharge de la pricédure de base. Pour le truc msgbox, c'est en fait une fonction. Je pens eque tu dois en avoir une equivalente, mais je te la donne quand meme : ' génére le minimum pour faire apparaitre un message (MsgBox) popup en javascript ' place le message msg comme message du popup et replace tout les "'" pour ne pas générer d'erreurs ' si letOpened egale true le bloc "script" reste ouvert pour ne pas a avoir a rajouter un entete ' si redirect<>"" alors la page sera automatiquement redirigé vers l'url "redirect" Public Function MsgBox(ByVal msg As String, Optional ByVal Redirect As String = "", Optional ByVal letOpened As Boolean = False) As String Dim str As String = msg.Replace("'", "\'") str = "" Return str End Function Ensuite, pour le web.config j'ai vu que s'était possible, et j'avais essayé mais j'ai jamais reussi a le faire fonctionner. Pourquoi je ne sais pas donc bon... Pourquoi dans le Load ? parce que ce traitement doit etre fait avant le chargement de la page non ? Y a t il d'autre solution ? plus jolies (je pense que le web.config doit etre mieux...)? Où le mettre sinon dans le Load et mis a part le Page_Init ? ( je fait l'authentification biensur a partir d'une Base De Donnees) Sincèrement j'aurais bien voulu l'utiliser le web.config...aurais tu une source sur le sujet ? Mais bon j'ai pas trop chercher parce que cette solution fonctionne et je suis bloqué au niveau du timing donc j'avais commencé comme ca...
vendredi 5 août 2005 à 18:49:31 | Re : Probeleme d'héritage

jesusonline

Membre Club Administrateur CodeS-SourceS
en fait, tout depend de ce que t'as besoin.

Mais l'evenement init me semble plus aproprié, ca t'evitera de bouffer des ressources inutilement.

Sinon pour l'authentication par web.config, j'ai malheureusement pas le temps de t'expliquer :(

mais cette solution est pas mal non plus :)




Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr


Cette discussion est classée dans : web, page, system, héritage, standard


Répondre à ce message

Sujets en rapport avec ce message

[ASPX][C#] Héritage de System.Web.UI.Page [ par merrick ] bonjouralors voilà, j'ai voulu factoriser des pages qui avait un comportement commun.j'ai ainsi créer une classe abstraite classeMere.cs comme suit:Co usercontrole : La référence d'objet n'est pas définie à une instance d'un objet. [ par coulis ] Bonjour à tous,Voilà mon problème: je viens de créer une nouvelle application .net et j'ai l'erreur suivante dès que je positionne un usercontrol ? La La référence d'objet n'est pas définie à une instance d'un objet [ par buze63 ] Salut G une page aspx avec un bouton et un usercontrol qui possede un label et un textbox et je voudrai que lorsque je clic sur le bouton un message a Liste des controls d'une page [ par Coolpix08 ] BonjourJe viens de poser la question sur CsharpFr qui a trouvé une demi solution...http://www.csharpfr.com/forum.v2.aspx?ID=754843Maintenant il ne res Problème de communication entre C# et ASP [ par prowlx ] Voici mon problème:J'ai créé une page ASP par défaut avec le  Web Development kit Express 2005 de MS(donc utilise le framework .Net 2.0). Cette page Débogage difficile sur CollapsiblePanelExtender [ par SuperBouly ] Bonjour, Je développe un site en asp.net 2.0 et ajax 1.0.Le serveur annonce que Ajax 1.0 est installé.Je précise que j'ai essayé une page avec un Cale Double appel Page_Init avec un controle ImageButton ou Image [ par guilhemberthalon ] Bonjour,j'ai un problème plutôt bizarre avec les contrôles ImageButton et Image,Lorque j'ajoute un de ces contrôles dans une page aspx, la page est ch Échec de la validation MAC Viewstate [ par Mickyberg ] Bonjour,Je souhaiterai savoir si quelq'un a déjà rencontré ce problème ou pas. J'ai une erreur qui arrive de facon complétement aléatoire et mon héber Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-00 [ par mamacocha ] Bonjour, Je développe une application qui importe un fichier excel (formaté selon un modèle précis) avec visual, ensuite je prend les données et ap Probleme asp.net lien [ par imer59 ] Bonjour , je suis tout nouveau dans ce langage et j'ai un petit problème je vous explique :Je suis en stage et je dois développer un espace de télécha


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales