长期阅读,第一次海报!
我正在尝试将 Div 对象添加到数组中,并在稍后调用 loadViews 函数时尝试访问它们。我所有的警报都以正确的顺序触发,但数组 m_Divs 的长度始终为 0。我很困惑。
我每次在 Page_Load 上重新注册脚本,因为如果我不尝试调用 javascript,它会在每个 page_load 之后抛出“错误:预期对象”。
.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 文件
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">