2009-04-19 8 views
3

Je crée mon menu avec javascript. Dans quelle mesure est-il possible qu'au chargement de la page, il soit créé du côté serveur (VB ASP.NET) plutôt que du côté client? Et si c'est possible, comment cela est-il fait? Mon objectif principal est de pouvoir créer des éléments de menu à partir d'une base de données.Création d'un menu du côté serveur

N'hésitez pas à donner votre avis.

Répondre

0

Il est très facile, beaucoup de façons de le faire, mais, fondamentalement, vous le code asp.net vb est délivrer en sortie HTML et/ou même certains lots JavaScript de façons de le faire, simplistes:

Response.Write("<div class='mymenu'>") 
Response.Write("<ul>") 
Response.Write("<li>Menu Item 1</li>") 
Response.Write("<li>Menu Item 2</li>") 
Response.Write("<li>Menu Item 3</li>") 
Response.Write("<li>Menu Item 4</li>") 
Response.Write("</ul>") 
Response.Write("</div>") 

Il est évident que les Les éléments de menu peuvent provenir d'une base de données, ou n'importe où ailleurs. L'exemple de code n'est pas la seule façon de le faire, et même pas forcément la meilleure façon, il y a beaucoup, beaucoup de façons ... mais non seulement il est possible de faire ce que vous demandez, c'est très commun et facile à faire ainsi que. Le javascript peut également être écrit au client de la même manière, mais en supposant qu'il soit statique, vous pouvez le faire de la manière habituelle, c'est-à-dire dans le balisage.

+2

Response.Writes multiples HTML manuel délivrant ASP.NET? Es-tu sérieux? – annakata

+0

Je pense qu'avec la méthode ci-dessus vous avez augmenté le fardeau de la maintenance. Vous devez redéployer lorsque vous modifiez le menu. –

3

Vous pouvez regarder micro-templating, où vous créez un modèle qui utilise json comme source de données. De cette façon, vous pouvez contrôler les éléments de menu avec une requête de base de données, XML, peu importe. Le modèle est une fonctionnalité intéressante car vous n'aurez pas à reconstruire et redéployer si vous voulez changer l'aspect et la convivialité. Il y a plusieurs exemples de asp.net:

Dave Ward's Encosia's blog

Rick Strahl's blog

StackOverflow

Questions connexes