2009-01-29 7 views
1

J'essaie d'utiliser un fichier .sitemap pour créer un menu sur mon site; Cependant, j'ai un certain nombre de problèmes avec la sortie.asp.net Menu Contrôle - Formatage

Tout d'abord, la sortie de la table était pas agréable - j'ai téléchargé la DLL « CSSFriendly » (http://www.codeplex.com/cssfriendly) .. Cela donne maintenant la sortie dans ul et li .. de

Mais je veux que le menu soit libre javascript ou css qui affiche les niveaux un à la fois, etc.

Je pensais que pour commencer à utiliser les StaticDisplayLevels, cela résoudrait cela, mais il semble que je l'ignore et que je produise juste le premier niveau, je dois alors passer la souris sur obtenir plus d'options de menu ..

Je suppose que le long et court est: les gens devraient rester à l'écart des commandes de menu un d juste écrire le balisage eux-mêmes? Sinon et ce n'est pas une horrible route à descendre - Comment puis-je me débarrasser de tout le formatage et la souris sur le jazz .. Je veux juste un menu entier, affiché horizontalement (je peux le faire avec mon CSS si).

Merci pour toute aide, aussi des excuses si cette question semble brouillée (sa frustration). Pete

Répondre

2

Pete,

J'ai déterré une partie de mon ancien code, qui utilise le contrôle de menu asp.net. Il y a très peu, StaticDisplayLevels à 2 et Orientation à "Horizontal" fait que tout fonctionne correctement. La plupart du travail consiste à l'écorcher (et il y a un couple de hacks pour mettre en évidence l'emplacement actuel si certaines des URL ne diffèrent que par une chaîne de requête). Cependant, passez à utiliser l'adaptateur CSS friendly et j'obtiens exactement les mêmes problèmes que vous décrivez (seul l'élément racine est affiché et ne peut pas être rendu horizontalement).

Je me demande si l'adaptateur de menu convivial CSS est cassé? Il existe des exemples de travail pour une ancienne version du code http://www.asp.net/CSSAdapters/Menu.aspx

Chris

2

D'après mon expérience, le menu ASP.net peut être apprivoisé et ce n'est pas aussi grave que cela peut paraître au premier abord.

(j'ai essayé de trouver un code pour votre problème de niveau d'affichage statique mais ne peut pas accéder à mon dépôt SVN au moment. Cependant, j'ai eu le même problème et il est assez facile à corriger.)

de Bien sûr, le menu MS ne sera jamais aussi soigné que celui que vous pourriez écrire en HTML, mais c'est génial si vous ne voulez pas passer trop de temps dessus et que vous voulez utiliser tout le contenu de SiteMapProvider. Il ne suffit pas de tomber dans le piège «tout ce que MS fournit, c'est que je vais devoir écrire moi-même», parce que ce n'est vraiment pas si mal.

1

peteski22,

je répondu à une question similaire sur jQuery Menu and ASP.Net Sitemap récemment. Je l'ai récapitulé à nouveau ici:

Fondamentalement, j'utilisé le contrôle <asp:Menu> avec un .Sitemap fichier, a ajouté le pour obtenir le menu rendu comme <ul><li> de fichiers CSSFriendly.DLL et CSSFriendlyAdapters.browser (tous dont vous avez fait) .. .

PUIS

... téléchargé/ajouté Superfish with jQuery (.js et .css) et de recherche et de remplacer en superfish.css changer le style « par défaut » Superfish avec celui que le contrôle du menu rend (par exemple sf-menuAspNet-Menu).

jQuery est très cool - et 'recommended' by Microsoft.

Vous pouvez « voir la source » à conceptdevelopment.net voir travailler ... ou download an example project avec tous les fichiers dont vous avez besoin.

(je suis encore à essayer de comprendre comment obtenir la classe par défaut du menu changé, plutôt que la recherche et de remplacement bidouille)

1

J'ai créé un petit projet d'échantillon pur vous pouvez utiliser à http://simplesitemenu.codeplex.com/

Il s'agit d'un contrôle composite qui génère une liste UL/LI imbriquée à partir de votre sitemap.

Profitez-en!