簡體   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