ASPX C# Menu problème de chemin [Résolu]

cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 4 janv. 2005 à 10:46 - Dernière réponse : k_wa 32 Messages postés lundi 6 novembre 2000Date d'inscription 20 septembre 2006 Dernière intervention
- 19 sept. 2006 à 22:39
Bonjour,
Je souhaiterai utilisé un menu qui a été proposé ici mais que je n'arrive pas a adapté.
Je travail sur ASPX et C#. La source qui m'a inspiré est a ce lien http://www.javascriptfr.com/code.aspx?ID=18799
mais j'ai un gros problème pour l'adapté. J'ai fait un controleuser où je met le menu et de la je l'insère où je le souhaite. Le problème réside dans le fait que si la form est dans la racine du site il y a pas de problème. ex :
http://iubito.free.fr/prog/download/iubito_sokhar.zip
Mais quand vous mettez les forms dans différents dossier, le menu ne marche plus.
Le problème viens en fait de l'emplacement où l'on indique les fichiers css dans le controleuser au niveau du script. En fait il faudrait un système qui permette de changer l'adresse de l'emplacement de ces fichiers en fonction de l'emplacement du form.
c'est à dire :
src="menu/menu.js"
href="menu/autre.css"


ex : quand la form est dans la racine
"<script language="javascript" src="menu/menu.js"></script>
<link rel="stylesheet" type="text/css" href="menu/autre.css">
[../menu/autre.css
]Label"


Si vous pouvez m'aider merci d'avance.
Afficher la suite 

Votre réponse

18 réponses

cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 4 janv. 2005 à 18:39
+3
Utile
j'ai trouvé enfin apres des heures a se tapé la

voila ce qu'il faut mettre exactement
" <script language="javascript" src='<%=ResolveUrl("~/controle/menu.js")%>'></script>
<link rel="stylesheet" type="text/css" href='<%=ResolveUrl("~/controle/transparent.css")%>'>"
vous mettez ceci juste avant le début du menu dans le controle user
ca marche chez moi et pourtant je suis null et harchi null en web vous pouvez demandé a jesusonline
@+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_rabbiwan
cs_Bud 224 Messages postés vendredi 14 septembre 2001Date d'inscription 14 juillet 2006 Dernière intervention - 4 janv. 2005 à 13:27
0
Utile
Tout simplement ça:

<script language="javascript" src="../menu/menu.js"></script>
<link rel="stylesheet" type="text/css" href="../menu/autre.css">



ça marche pas?
Commenter la réponse de cs_Bud
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 4 janv. 2005 à 13:39
0
Utile
Oui mais si je met mon menu dans 2 répertoire je vais devoir mettre dans mon controle ../../menu/autre.css et c ca le problème moi je veux qu'il adapte le ../../menu/autre.css en fonction de l'emplacement ou se trouve la form sans avoir a toucher au code html de la form. En ne travaillant que sur le controle user
Commenter la réponse de cs_rabbiwan
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 4 janv. 2005 à 13:47
0
Utile
Est que si je met ceci dans Page_Load du controle user:

Page.RegisterStartupScript("Menu", "<script language="javascript" src="" + ResolveUrl("menu/menu.js") + ""></script><link rel="stylesheet" type="text/css" href="" + ResolveUrl( "menu/autre.css" ) + "">");

Ceci permettrai de trouvé les emplacements approprié, cad ../../menu/autre.css ou ../menu/autre.css
Et est que la page ou je vais mettre ce controle va prendre en compte ce script?
Commenter la réponse de cs_rabbiwan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 4 janv. 2005 à 14:53
0
Utile
J'ai rien capté meme apres une deuxieme lecture.
Nix a ajouté la possibilité de faire des jolis texte ce serait cool si tu pouvais mettre ton arborescence la dessus genre



<LI>

C:\inetpub\wwwroot\myApp\
</LI>

<LI>

control
</LI>

<LI>

control.ascx
</LI>
<LI>

page.aspx
</LI>
Ca me permettrait de beaucoup mieux comprendre ton problème, et de répondre correctement. Sinon pour savoir où sont situé les pages, de memoire dans ton UC tu dois pouvoir avoir me.templatedirectory pour le rep de l'UC et moins sur me.parent.templatedirectory pour le rep de la page (sauf si ton UC est chargé par un autre UC) et pour connaitre l'adresse url en cours, regarde dans la collection me.request en faisant e.request.uri.absoluthuri ca doit te donner une url correcte, t'as d'autres possibilités aussi.

Et dernier truc mais je crois te l'avoir déjà dit, va faire un tour du coté de la msdn, et regarde la méthode resolveUrl et il y a aussi un post de TheMit parlant de ca dans son blog : http://blogs.developpeur.org/themit/ si c'est pas themit c'est la bas en tout cas.


<HR style="WIDTH: 100%; HEIGHT: 2px">
Cyril
Commenter la réponse de jesusonline
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 4 janv. 2005 à 15:05
0
Utile
En chechant autre chose j'ai trouvé un article de Redo sur la méthode ResolveUrl : http://www.asp-php.net/tutorial/asp.net/redobase8.php


<HR style="WIDTH: 100%; HEIGHT: 2px">
Cyril
Commenter la réponse de jesusonline
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 4 janv. 2005 à 15:39
0
Utile
alors voila
j'ai mes répertoires comme ceci



<LI>siteweb</LI>

<LI>références</LI>
<LI>controle</LI>

<LI>menu.js</LI>
<LI>menu.css</LI>
<LI>menu.ascx</LI>
<LI>soft</LI>

<LI>achat</LI>

<LI>page.aspx</LI>
<LI>page2.aspx</LI>
<LI>page3.aspx</LI>
<LI>acceuil.aspx</LI>
voila un exemple de l'arborescence du site
donc en fait je dois pouvoir mettre le controle menu.ascx dasn la page acceuil.aspx et aussi dans page.aspx et page3.ascx
Le menu en lui meme fonctionne mais le fichier javascript qui permet de mettre en forme le menu ne fonctionne pas. Enfin si le chemin est controle/menu.js et que l'on demande a l'afficher dnas acceuil.aspx cela fonctionnera. Si on met part contre le controle dans page2.aspx ou page3.aspx, cela ne fonctionnera plus car le chemin du fichier indiqué dansle controle ne sera plus bon. et il faudra le changer manuellement et mettre ../../controle/menu.js ou ../controle/menu.js.
Voila j'espère que vous comprenez mieux.
ps : est que ma fonction au dessus peut fonctionner pour résoudre mon problème?
et je vais aller voir le site jesusonline
Commenter la réponse de cs_rabbiwan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 4 janv. 2005 à 15:52
0
Utile
dans menu.ascx tu peux essayer de mettre pour nom de fichier js ~/controle/menu.js ou /controle/menu.js

regarde le blogs de themit il expliquait justement tout ca

le / ou ~/ sert à partir directement du dossier de l'app


<HR style="WIDTH: 100%; HEIGHT: 2px">
Cyril
Commenter la réponse de jesusonline
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 4 janv. 2005 à 18:11
0
Utile
Franchement j'ai lu et relu les articles que tu m'as dit je vois comment faire mais je n'arrive pas à l'adapter..
J'ai fais le script qui fonctionne mais il est lancé apres le chargement du menu
donc j'ai mis le script lui meme dans la parti html du controle user.
Et la en mettant un adresse fixe ca marche mais en mettant ResolveUrl ca veux pas faire je cherche a utilisé cette fonction en script dans le html mais je n'y arrive pas.
Commenter la réponse de cs_rabbiwan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 4 janv. 2005 à 19:30
0
Utile
Lol non tu n'es pas si nul que ca, tu t'améliores

C'est effectivement a peu pres à ca que je pensais, mais t'as deja eu
de la chance d'avoir mon message, j'ai faillit arriver en retard pour
le debut de l'exam



Mais un <script language="javascript" src="/controle/menu.js"></script> n'aurait il pas fonctionner également ?



Car la ton problème est pour toi résolu car ca fonctionne pour moi, il
ne l'est pas, car on ne place pas un <style n'importe où comme ca
!!!



Donc déjà pour tester : dans le code ascx.vb




Page.RegisterStartupScript("Menu",
"<script language="javascript">alert("essai");</script>");


Ca dit quoi ?

Si t'as pas un MessageBox qui apparait t'as déjà un problème. Je me base sur ce que tu me dis que le caractère " est "



Si ca marche essaye ca




Page.RegisterStartupScript("Menu",
"<script language="javascript" src="" +
ResolveUrl("~/menu/menu.js") + ""></script><link
rel="stylesheet" type="text/css" href="" + ResolveUrl(
"~/menu/autre.css" ) + "">");


En théorie ca devrait fonctionner, sinon donne moi le code HTML qui
t'es generé : Clique droit + "afficher la source" sous IE ...


<hr style="width: 100%; height: 2px;">Cyril
Commenter la réponse de jesusonline
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 5 janv. 2005 à 09:22
0
Utile
Salut
Alors voila
A la question :
"Mais un
<script language="javascript" src="/controle/menu.js"></script> n'aurait il pas fonctionner également ? ", non cela ne fonctionne pas j'ai essayé, et j'ai essayé avec aussi "~/", mais cela ne fonctionne pas.
J'ai presque tout testé
lol
A la l'affirmation :
"Car la ton problème est pour toi résolu car ca fonctionne pour moi, il ne l'est pas, car on ne place pas un <style n'importe où comme ca !!!", et bien je n'en sais rien moi j'ai mis comme je pensais. Voici le début du fichier ascx, apres je c pas si c syntaxiquement correct.
"<HTML>
<script language="javascript" src='<%=ResolveUrl("~/controle/menu.js")%>'></script>
<link rel="stylesheet" type="text/css" href='<%=ResolveUrl("~/controle/transparent.css")%>'>

<script language="Javascript" type="text/javascript">
preChargement();
</script>

"

A la question :
"Ca dit quoi ? ", ca me dit que ca marche. je l'avais tester aussi. lol cela m'a permis d'observer en mettant aussi une alert dans le html de voir quel code est d'abord executé. et d'abord il exécute le html et apres le fichier cs ou vb comme tu veux.
J'avais aussi mis le script que tu dis dans le fichier cs pour voir mais cela ne fonctionnait pas.
J'avais aussi testé.
lol
Voila si tu as d'autre question pas de blem j'y répondrai.
Commenter la réponse de cs_rabbiwan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 5 janv. 2005 à 12:35
0
Utile
et est-ce que je pourrais voir le rendu html, c'est à dire, dans IE tu clique droit sur la page, et fait afficher la source.


<hr style="width: 100%; height: 2px;">Cyril
Commenter la réponse de jesusonline
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 5 janv. 2005 à 13:15
0
Utile
je t'ai envoyé le source sur ton adresse mail sur hotmail
Commenter la réponse de cs_rabbiwan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 5 janv. 2005 à 20:20
0
Utile
J'ai vu ton mail et le code aussi. Le code est relativement horrible ;) mais je vais pas trop t'en demander je suis a fond sur les normes et je travail au maximum le code HTML, et ca me change de voir des pages comme celles-ci ....

d'une part, enleve imédiatement les balises <html> car ca fait un doc html tout décousu :

<html>

<head>

<meta plein de balise pas belle ajouté par VS.net>

</head>



<form>

du code et le chargement de ton UC

<html>
ton code de l'uc

</html>

<form>



</html>



Je t'enverrais bien sur ce site : www.w3c.org ou
http://giminik.developpez.com/xhtml/ et tu sauras comment DOIT etre
construit une vrai page web, heureusement que les navigateurs sont
indulgents, tres indulgents....



sinon pour la balise <script qui se balade au plein milieu ca
derange pas, mais pour la <link> si elle n'a rien à faire ici ! ca marche sous IE oui mais sous FireFox je suis pas sur (idem pour la balise HTML en plein milieu)
(un petit conseil si tu fais du web, prend déjà un bon navigateur web,
qui respecte les normes (car IE fait ce qu'il veut avec les normes si
tu es interessé sur ce sujet, je peux te trouver des liens pour te
montrer) donc prends FireFox pour travailler, et ensuite IE pour voir
si tout est compatible,j'arrete ici car je ne pense pas que tu aimes
vraiment le web, mais faire du web, ca ne s'invente pas, il y a des
regles à respecter!)

moi j'ai essayé le
Page.RegisterStartupScript("Menu",
"<script
language="javascript">alert("essai");</script>"); et quand
je charge ma page j'ai bien un messagebox javascript qui s'affiche. Par
contre le code javascript est ecrit en bas de la page, donc le problème
reviendrais au meme, il me semble qu'il y a une fonction similaire qui
ecrit dans le header (a moins que ca ne soit dans la beta 2 d'asp.net)
je te redis ca si je trouve, mais pour l'heure, vu comment la page html
est construite, une erreur de plus une erreur de moins
ca va pas changer grand chose, enleve juste les html qui traine dans
l'ascx, et regarde si la page marche sur Firefox et puis si oui,
ce sera finit pour toi,on va pas trop en demander



<hr style="width: 100%; height: 2px;">Cyril
Commenter la réponse de jesusonline
cs_rabbiwan 151 Messages postés mercredi 18 septembre 2002Date d'inscription 22 février 2007 Dernière intervention - 6 janv. 2005 à 10:13
0
Utile
bon résolution de l'année 2005
enlevé les balise html -> ok
installé firefox -> ok
Et pour la balise link en plein milieu ca marche pour firefox
Pour l'exécution du script moi que j'ai débeugué je me suis apercu que l'exécution de la page passe d'abord par le html lui meme et a pret il fait appel au fichier cs et vue que tu as mis le script dedans ben il charge pas je c pas pourkoi mais c comme ca .
Et disons que le web ca m'accroche pas trop mais bon on demande que ca maintenant donc je suis bien obligé de m'y mettre et mes notions en html remonte à 5 ans et j'en ai fait que une fois alors......... c pas un langague qui ma tromatisé mais si tu as des conseils a me filé je suis preneur étant donné que je connais pas grand chose j'apprend sur le tas ( il faut dire que j'adore apprendre sur le tas lol )
Commenter la réponse de cs_rabbiwan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 6 janv. 2005 à 14:06
0
Utile
un excellent bouquin pour asp.net Formation à asp.net
de Richard Clark, en autre bouquin je vois pas, faut tester faire des
minis projets, des défis, c'est comme ca que j'ai appris, avec des
bouquins et en repondant aux questions sur le forum, faut bien sur
apprendre le html, je te conseil HTML & XHTML la reference des éditions O Reilly et sinon pour apprendre faut fouiller sur le net ...





<hr style="width: 100%; height: 2px;">Cyril
Commenter la réponse de jesusonline
k_wa 32 Messages postés lundi 6 novembre 2000Date d'inscription 20 septembre 2006 Dernière intervention - 19 sept. 2006 à 22:35
0
Utile
jesusonline, je suis surement le moins actif de ce forum et j'avais jamais eu l'occasion de lire tes commentaires...
un conseil, arrête de te prende la tête, t'en fais trop.
les gens débutent, apperement toi t'as déjà fait un bou de chemin.

Vas dire ta théorie sur le "premier test  compatibilité firefox" à des consultants entreprise et il te riront à la figure!
pourquoi? regarde les stats de tes site (sauf si tu les bloque à l'utilisation de firefox évidemment) mais 90% des surfeurs sont sur?? IE.

alors oui, je trouve qu'ils ont tort d'un point de vue maintenance de penser ainsi mais quand on pense argent (comme ceux dont je parle), ton point de vue devient obsolète, il veulent quelque chose de user friendly et rapidement... si 90% des clients sont contents, c mieux que 10... mais celà dépend de la cible sans doute.

j'ai eu l'occasion de taffer avec un designer qui pensait comme toi, il m'a tout fait en css optimisé à fond firefox... wep çà déchirait franchement, il avait tout structuré parfait... mais il a oublié de regarder ie et je te raconte pas la perte de temps ignoble dont on a souffert par la suite... alors que ie aurait suffit pour la mise en production.

pour ce qui est du bouquin, tu peux le lire une fois mais franchement trouve le en bibliothèque parce que les vraies sources sont sur le net et nulle part ailleurs.

y a encore beaucoup à dire sur ce que j'ai pu lire sur ces deux pages mais très franchement, quand je dis tout çà tu pense quoi de moi? que je me prend la tête... on s'est compris man comme çà, tu sais ce que c'est

Peace
Commenter la réponse de k_wa
k_wa 32 Messages postés lundi 6 novembre 2000Date d'inscription 20 septembre 2006 Dernière intervention - 19 sept. 2006 à 22:39
0
Utile
je viens de comprendre qui tu es, il était temps!!
toujours est-il que je ne retire certainement pas mon conseil dont tu fais clairement ce que tu veux.

et j'espère que celà ne m'enlèvera pas l'accès à ce site car il me rélève encore de bonnes sources non négligeables dans l'épopée du développement

hésite pas à me contacter personnellement, je mord pas... et même que des fois, je rigole ;)
Commenter la réponse de k_wa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.