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

时间:2010-12-09 15:49:30

标签: javascript asp.net widget

我正在使用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”变量?

希望有人理解我的问题。

由于

1 个答案:

答案 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”变量)来创建动态命名变量。