我有一个如下的 C# 代码
string albertaSTR = "var alberta;";
foreach (DataRow dr in alberta)
{
albertaSTR += "alberta.push('" + dr[0].ToString() + "');";
}
Page.RegisterClientScriptBlock("al", "<script>"+albertaSTR+"</script>");
在上面的代码中,我使用 RegisterClientScriptBlock 方法创建并填充 javascript 数组。
我想在客户端 JavaScript block 中访问这个数组,就像这样
for (i = 0; i < alberta.length; i++) {
$("#divCity > ul").append("<li><a src='#' >"+alberta[i]+"</a></li>")
}
我该怎么做,上面的 aspx 文件中的代码给我错误“alberta”数组不存在
有没有办法实现上述功能
最佳答案
您必须将变量声明为数组。
string albertaSTR = "var alberta = [];"; // declare it as an array first
foreach(DataRow dr in alberta) {
albertaSTR += "alberta.push('" + dr[0].ToString() + "');";
}
ClientScript.RegisterClientScriptBlock(this.GetType(), "al", "<script>" +albertaSTR+"</script>");
关于javascript - 访问 aspx 页面的客户端 javascript block 中由 RegisterClientScriptBlock 注入(inject)的 javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27296135/