gpt4 book ai didi

c# - 将对象添加到 javascript 数组,然后在同一个 .js 文件中访问它们

转载 作者:行者123 更新时间:2023-11-28 10:24:26 26 4
gpt4 key购买 nike

长期读者,第一次发帖!

我正在尝试将 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="";
}
}

切换 View 通过

触发
<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">

最佳答案

保存回发之间的值,例如使用 ClientScript 上的 RegisterHiddenField 方法。

http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerhiddenfield.aspx

关于c# - 将对象添加到 javascript 数组,然后在同一个 .js 文件中访问它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com