[英]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.