C# 在页面加载时访问Javascript全局变量
我正在使用代码隐藏从数据库向javascript数组添加一些元素 代码如下:C# 在页面加载时访问Javascript全局变量,c#,javascript,asp.net,google-maps-api-3,C#,Javascript,Asp.net,Google Maps Api 3,我正在使用代码隐藏从数据库向javascript数组添加一些元素 代码如下: protected void LoadPlaces() { try { DataTable dt = cs.ExecuteQry(@"SELECT location_coords from igr.locationdata ", null); String Script = ""; foreach(DataRow dr in dt.Rows) { string Coord = "
protected void LoadPlaces() {
try {
DataTable dt = cs.ExecuteQry(@"SELECT location_coords from igr.locationdata ", null);
String Script = "";
foreach(DataRow dr in dt.Rows) {
string Coord = "PlacePoints=[";
bool IsNotFirst = false;
foreach(string C in dr[0].ToString().Trim().Split('\n')) {
if (IsNotFirst) Coord += ",\n";
Coord += @"new google.maps.LatLng(" + C.Trim().Split(';')[0].Split(':')[1] + "," + C.Trim().Split(';')[1].Split(':')[1] + @") ";
IsNotFirst = true;
}
Coord += "];";
Script += Coord;
//ScriptManager.RegisterStartupScript(Page, GetType(), "AddPointsToMap", Coord, true);
}
ScriptManager.RegisterClientScriptBlock(Page, GetType(), "SetMap", Script, true);
} catch (Exception ex) {
Alert(ex.Message);
}
}
我从Page_Load()调用了这个函数,
但当我试图访问map变量时,它是未定义的,如何克服这个问题
我在这个页面上添加了一个按钮,并在按钮点击上调用了上面的函数。
Javascript代码是
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
AddPlace = function (Place) {
if (Place == null) return;
var mark = new google.maps.Polygon({
paths: Place,
strokeColor: '#F50',
strokeOpacity: 0.5,
strokeWeight: 2,
fillColor: '#FAA',
clickable: true,
fillOpacity: 0.7
});
mark.setMap(map);
Places.push(mark);
google.maps.event.addListener(Place, 'click', function (event) {
var vertices = this.getPath();
var strvertices = '';
for (var i = 0; i < vertices.getLength(); i++) {
strvertices.value += 'A' + i + ':' + vertices.getAt(i).lat() + ';';
strvertices.value += 'B' + i + ':' + vertices.getAt(i).lng();
strvertices.value += '\n';
}
console.Debug(strvertices);
});
}
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
AddPlace=函数(位置){
如果(Place==null)返回;
var mark=new google.maps.Polygon({
路径:地点,
strokeColor:“#F50”,
笔划不透明度:0.5,
冲程重量:2,
fillColor:“#FAA”,
可点击:正确,
填充不透明度:0.7
});
mark.setMap(map);
位置。推动(标记);
google.maps.event.addListener(放置,'click',函数(事件){
var顶点=this.getPath();
var strvertices='';
对于(var i=0;i
您在哪里编写javascript代码
在body标记的底部或表单的末尾编写javascript代码,这样这些变量就可以访问