【问题标题】:Access server-side list to javascript访问服务器端列表到 javascript
【发布时间】:2013-07-07 10:41:34
【问题描述】:

我有从数据库写入的数据行。如何在 javascript 中访问列表? 请帮忙。

  StringBuilder sb = new StringBuilder();
        sb.Append("<script>");
        sb.Append("var testArray = new Array;");
        foreach (DataRow str in result)
        {
            sb.Append("testArray.push('" + str.ItemArray[1].ToString() + "');");
        }
        sb.Append("</script>");
        Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "test('"PassTestArrayHere"');", true);

【问题讨论】:

  • 查看这个 SO 答案:stackoverflow.com/questions/11826936/…
  • 两种方式之一。 1)在页面加载时将数据呈现到页面,或者; 2)从页面对服务器进行AJAX调用以获取数据。除非您有令人信服的理由使用后一个选项,否则第一个选项要容易得多。无论如何,这段代码到底想做什么?渲染出来的 JavaScript 是什么样子的?失败的原因是什么?
  • 由于脚本标签而失败!我有从数据库和返回列表中收集数据的方法,我想将它传递给 javascript,因为我没有使用 AJAX。

标签: c# javascript


【解决方案1】:

您的脚本将不起作用,而不是使用 sb.Append("testArray.push('" + str.ItemArray[1].ToString() + "');"); 您可以将数组转换为 JSON 并返回给客户端。如果您仍然想遵循您的方法,您应该将数组转换为格式如下的字符串:String a = "['item0', 'item1', 'item2']";,然后:

Page.ClientScript.RegisterStartupScript(String.GetType(), "test", "test(" + a + ");", true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 2014-06-05
    • 2017-05-28
    相关资源
    最近更新 更多