javascript - 访问 aspx 页面的客户端 javascript block 中由 RegisterClientScriptBlock 注入(inject)的 javascript 代码

标签 javascript c# jquery asp.net .net

我有一个如下的 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/

相关文章:

c# - 如何解决 Funq IoC 中的循环依赖?

jquery - 将鼠标移到主菜单上不会使子菜单保持打开状态

javascript - JavaScript 中的 setTimeout 和 "this"

c# - 哪个字符串比较器与 switch 语句一起使用?

c# - 在 C# 中调用 BeginRead() 后关闭 NetworkStream

javascript - 如何根据选择其他选择选项来更改选择选项

javascript - 悬停菜单jquery上下滑动太快

javascript - 光滑的 slider 不起作用

javascript - 将 Mongo DB 对象数据库传递给 Express 中间件

JavaScript 函数原型(prototype) : Object, 函数,还是两者?