У меня есть переменная, которая задается в последнем теге скрипта при загрузке страницы, так как это требуется из-за доступа к DOM (с использованием сторонней библиотеки). Я хочу получить доступ к своей переменной, однако при доступе к ней через C# (ASP веб-приложение) я получаю "undefined".
Как я могу получить к ней доступ?
Если я запускаю следующие из C#:
ClientScript.RegisterStartupScript(GetType(), "hwa", "hello();", true);
Я получаю следующую ошибку: https://i.stack.imgur.com/veiLB.png
Моя функция приветствия:
function hello() {
alert(mapData);
}
Эта переменная mapData
установлена в теге скрипта в конце тела, мой исходный код должен был вызывать функцию JS ПОСЛЕ загруженного сайта, однако она выглядит как неопределенная через C#, но все же появляется, если я использую веб-консоль.
Полный сценарий:
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: '© <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);
}