我正在使用ASP.NET开发Web应用程序。在这个应用程序中,我正在使用仪表板。现在我尝试为这个dashbord开发自己的小部件。但我不明白如何做javascript部分。
在小部件中,我想使用OpenLayers JavaScript地图。它是这样创建的
<script>
var map = OpenLayers.Map("mapDiv");
</script>
<div id="mapDiv" />
像这样,如果我只想同时使用一个小部件,它可以正常工作。但是如果想在同一个仪表板中多次使用它,我会遇到很多问题。我有两个具有相同id的div和两个名为map的变量。
所以div id没问题,我用ASP.NET动态生成它。但是我如何处理JavaScript部分,以便我不会覆盖我的“map”变量?
希望有人理解我的问题。
由于
答案 0 :(得分:0)
如果您有定义为div生成自定义ID的方法,您应该能够使用相同的函数将该ID传递给脚本:
<% Dim myId As String = GenerateId() %>
<div id="<%= myId %>"></div>
<script type="text/javascript">
this["<%= myId %>"] = OpenLayers.Map("<%= myId %>");
</script>
本质上,诀窍是您可以使用括号语法在全局上下文中定义新条目(“this”变量)来创建动态命名变量。