小部件中的JavaScript-如何处理?

小部件中的JavaScript-如何处理?,javascript,asp.net,widget,Javascript,Asp.net,Widget,我正在使用ASP.NET开发一个Web应用程序。在这个应用程序中,我使用的是仪表板。现在我尝试为dashbord开发自己的小部件。但是我不明白如何做javascript部分 在这个小部件中,我想使用OpenLayers JavaScript映射。它是这样创造的 <script> var map = OpenLayers.Map("mapDiv"); </script> <div id="mapDiv" /> var map=OpenLayers.ma

我正在使用ASP.NET开发一个Web应用程序。在这个应用程序中,我使用的是仪表板。现在我尝试为dashbord开发自己的小部件。但是我不明白如何做javascript部分

在这个小部件中,我想使用OpenLayers JavaScript映射。它是这样创造的

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

var map=OpenLayers.map(“mapDiv”);
像这样,如果我只想同时使用一个小部件,它就可以正常工作。但是如果想在同一个仪表板中多次使用它,我会遇到很多问题。我有两个id相同的div和两个名为map的变量

因此div id没有问题,我使用ASP.NET动态生成它。但是如何处理JavaScript部分,以便不覆盖我的“map”变量

希望有人能理解我的问题


谢谢

如果您有一种定义为div生成自定义ID的方法,那么您应该能够使用相同的函数将该ID传递给脚本:

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

此[“”]=OpenLayers.Map(“”);
本质上,诀窍在于,您可以通过使用括号语法在全局上下文中定义一个新条目(“this”变量)来创建动态命名的变量