Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用C访问JS变量#_Javascript_C#_Webforms - Fatal编程技术网

Javascript 用C访问JS变量#

Javascript 用C访问JS变量#,javascript,c#,webforms,Javascript,C#,Webforms,我在页面加载的最终脚本标记中设置了一个变量,因为这是访问DOM(使用第三方库)所必需的。我想访问我的变量,但是当通过C#(ASP Web应用程序)访问它时,我得到了“未定义的” 我怎样才能访问这个 如果我从C#运行以下命令: 我得到以下错误: 我的hello功能是: function hello() { alert(mapData); } 这个mapData变量设置在正文末尾的一个脚本标记中,我的原始代码是在加载站点后调用JS函数,但是它通过C#显示为未定义,但如果我使用Web控制台,它会

我在页面加载的最终脚本标记中设置了一个变量,因为这是访问DOM(使用第三方库)所必需的。我想访问我的变量,但是当通过C#(ASP Web应用程序)访问它时,我得到了“未定义的”

我怎样才能访问这个

如果我从C#运行以下命令:

我得到以下错误:

我的hello功能是:

function hello() {
 alert(mapData);
}
这个
mapData
变量设置在正文末尾的一个脚本标记中,我的原始代码是在加载站点后调用JS函数,但是它通过C#显示为未定义,但如果我使用Web控制台,它会显示出来

完整脚本:

function createMap() {
mapData = L.map('map', {
    center: [20.0, 5.0],
    minZoom: 2,
    zoom: 5
});

L.mapData = mapData;

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
    subdomains: ['a', 'b', 'c']
}).addTo(L.mapData);
}

function createMarker(long, lat, type) {
    alert(L.mapData);
    L.marker([long, lat], { icon: L.icon({ iconUrl: 'Content/img/' + type + '.png', iconSize: [50, 60], iconAnchor: [22, 94], popupAnchor: [-3, -76], }) }).addTo(L.mapData);
}

function hello() {
    alert(mapData);
}
函数createMap(){
mapData=L.map('map'{
中间:[20.0,5.0],
minZoom:2,
缩放:5
});
L.mapData=mapData;
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;”,
子域:['a','b','c']
}).addTo(L.mapData);
}
函数createMarker(长、宽、类型){
警报(L.mapData);
L.marker([long,lat],{icon:L.icon({iconUrl:'Content/img/'+type+'.png',iconSize:[50,60],iconAnchor:[22,94],popupAnchor:[-3,-76],})});
}
函数hello(){
警报(地图数据);
}

似乎在实例化mapData之前调用了hello方法

我看不到它在哪里被实例化,但您可以按如下方式更改您的注册脚本:

ClientScript.RegisterStartupScript(GetType(), "hwa", "createMap(); hello();", true);
请注意,您可能希望向create函数添加hello回调


有关您在此处尝试执行的操作的详细信息也可能会有所帮助。

请查看此信息,谢谢@Clint,对不起,我没有澄清变量是一个对象。@Clint是的,但我需要存储一个对象,这是唯一的东西。我不明白您的意思,请elaborate@Clint我使用的是一个JS变量对象,它具有与地图相关的数据(使用传单js),我需要能够通过C#访问它。C#显示为未定义,而js控制台则显示为未定义。
ClientScript.RegisterStartupScript(GetType(), "hwa", "createMap(); hello();", true);