2010-12-09 9 views
0

J'utilise ASP.NET pour développer une application Web. Dans cette application, j'utilise un tableau de bord. Et maintenant j'essaye de développer mon propre widget pour ce dashbord. Mais je ne comprends pas comment faire la partie javascript.JavaScript dans les widgets - comment gérer?

Dans le widget, je souhaite utiliser la carte JavaScript OpenLayers. Il est créé comme ceci

<script> 
    var map = OpenLayers.Map("mapDiv"); 
</script> 
<div id="mapDiv" /> 

Comme ça ça fonctionne très bien si je veux seulement utiliser un widget en même temps. Mais si vous voulez l'utiliser plusieurs fois dans le même tableau de bord, j'ai beaucoup de problèmes. J'ai deux divs avec le même id et deux variables avec la carte de nom.

Donc le div id n'est pas un problème, je le génère dynamiquement avec ASP.NET. Mais comment gérer la partie JavaScript, pour ne pas écraser ma variable "map"?

J'espère que quelqu'un comprend mon problème.

Merci

Répondre

0

Si vous avez une façon de définir la génération d'un ID personnalisé pour la div, vous devriez être en mesure d'utiliser la même fonction pour passer cet ID au script:

<% Dim myId As String = GenerateId() %> 
<div id="<%= myId %>"></div> 
<script type="text/javascript"> 
    this["<%= myId %>"] = OpenLayers.Map("<%= myId %>"); 
</script> 

Essentiellement, l'astuce est que vous pouvez créer des variables dynamiquement nommées en utilisant la syntaxe de parenthèse pour définir une nouvelle entrée dans le contexte global (la variable "this").

Questions connexes