繁体   English   中英

从vb.net传递二维数组到javascript

[英]Passing Two dimension array from vb.net to javascript

<script>
  var map,imageServiceLayer;
  var clr_default = [[164355, 71, 107, 161]];
  var clr_custom;
  require([
    "esri/map", "esri/layers/ArcGISImageServiceLayer", 
    "esri/layers/ImageServiceParameters", "dojo/parser", "dojo/domReady!"
  ], function(
    Map, ArcGISImageServiceLayer, 
    ImageServiceParameters, parser
  ) {
    parser.parse();
    esri.config.defaults.io.corsEnabledServers.push("http://mapsdev.lib.purdue.edu:6080");

    map = new Map("map", {
      basemap: "topo",
      center: [-100, 33],
      zoom: 5
    });

    var rasterFunction = new esri.layers.RasterFunction();
    var arguments = {};
    arguments.Colormap=clr_default;
    rasterFunction.arguments = arguments;
    rasterFunction.functionName = "Colormap";
    var params = new ImageServiceParameters();
    //params.renderingRule=rasterFunction;
    imageServiceLayer = new ArcGISImageServiceLayer("http://mapsdev.lib.purdue.edu:6080/arcgis/rest/services/ISEE/ISEE2Dev_IN_DBO_gSSURGO_IN_10m/ImageServer", {
      imageServiceParameters: params,
      opacity: 0.75
    });
    map.addLayer(imageServiceLayer);
  });
  function changeColor(val){
    var rasterFunction = new esri.layers.RasterFunction();
    var arguments = {};     
  if (val == "Default")
  imageServiceLayer.setRenderingRule(null);
  else if (val == "Default1")
  {
    arguments.Colormap=clr_default;
    rasterFunction.arguments = arguments;
    rasterFunction.functionName = "Colormap";
    imageServiceLayer.setRenderingRule(rasterFunction);
  }
  else if (val == "Custom")
  {
    arguments.Colormap=clr_custom;
    rasterFunction.arguments = arguments;
    rasterFunction.functionName = "Colormap";
    imageServiceLayer.setRenderingRule(rasterFunction);
  }
  }
</script>

Dim sb As New StringBuilder
sb.Append("var clr_custom=new Array(" & (i + 1) & ");")
    For j As Integer = 0 To i
        sb.Append("clr_custom[" & j & "]=new Array(4);")
        For k As Integer = 0 To 3
            sb.Append("clr_custom[" & j & "][" & k & "]=" & color(j, k) & ";")
        Next
    Next

这是我的Java脚本。在第四行中,变量clr_custom是二维数组,需要从服务器数据库获取值,我尝试按照上面vb.net所示进行操作。一种方法是对整个javascript使用registerstartupscript(),但是这使得很难编辑Java脚本。在vb.net中定义变量值并在javascript中使用相同的变量是否简单?

似乎您只想在JavaScript中间添加<%= sb.ToString() %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM