Долго читатель, первый постер!
Я пытаюсь добавить объекты Div в массив и пытаюсь получить к ним доступ позже, когда вызываю функцию loadViews.Все мои оповещения срабатывают в правильном порядке, но массив m_Divs всегда имеет длину 0. И я в замешательстве.
Я каждый раз перезаписываю скрипт на Page_Load, потому что он выбрасывает«Ошибка: ожидается объект» после каждой загрузки страницы при попытке вызвать javascript, если я этого не сделаю.
.JS файл.
var m_Divs = new Array();
function switchViews(obj) {
alert("switchViews!");
var div = document.getElementById(obj);
var img = document.getElementById('img' + obj);
if (div.style.display == "none") {
alert("adding div" + div);
window.m_Divs.push(div);
alert("added");
}
else {}
}
function loadViews() {
alert(window.m_Divs.length);
for (i = 0; i < window.m_Divs.length; i++) {
window.m_Divs[i].style.display="";
}
}
переключение представлений запускается через
<a href="javascript:switchViews('div<%#Eval("ID")%>');">
внутри GridView.
.CS File
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptInclude("TheScript", "Scripts/TheScript.js");
if (!Page.IsPostBack)
{
// Stuff.
}
}
Соответствующий код файла .aspx
<script type="text/javascript" src="Merge.js"></script>
<body onload = "loadViews()">
<form id="form1" runat="server">