0

我必须在 javascript 警报弹出窗口中显示字符串数组,该弹出窗口将显示字符串索引或序列号,然后在字符串数组值之后显示空格,然后换行。然后以相同的方式显示该数组字符串中的所有值。我的代码不起作用。

    function Test(Str)
    {
    for(var i = 1; i <= Str.length; i++) 
    alert("Str["+i+"]: "+Str[i],"/n");

    }

        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:Button ID="Submit" runat="server" Text="Submit" onclick="Submit_Click" />  
    </div>

    C#:

    protected void Submit_Click(object sender, EventArgs e)
        {
            string[] Str = new string[5];
            Str[0] = "string1";
            Str[1] = "string2";
            Str[2] = "string3";
            Str[3] = "string4";
            Str[4] = "string5";
            Submit.Attributes.Add("onclick", "javascript:Test(Str);");
        }



i need dispaly in following way:

1: string1
2: string2
3: string3
4: string4
5: string5

javascript 弹出窗口不起作用。我怎样才能做到这一点..

4

2 回答 2

1

我没有看到你的test2功能。而且我认为你在某个地方复制了这个函数而不是修改它:

function Test(Str)
{
for(var i = 1; i <= Str.length; i++) 
alert("yourArr["+i+"]: "+yourArr[i],"/n");

}

如果上面的函数是你使用的,那么它有一些错误:

  • 使用 yourArr[i] 而不是 Str[i]
  • 使用 , (在 "/n" 之前) 而不是 +
  • 使用“/n”而不是“\n”
  • 警告每个字符串而不是一组字符串
于 2013-03-28T08:30:58.817 回答
0

您需要将C# 字符串数组序列化为 javascript 数组

C#代码:

    string[] Str = new string[5];
    Str[0] = "string1";
    Str[1] = "string2";
    Str[2] = "string3";
    Str[3] = "string4";
    Str[4] = "string5";
    JavaScriptSerializer js = new JavaScriptSerializer();
    string jsArray = js.Serialize(Str);
    Submit.Attributes.Add("onclick", "javascript:Test(" + jsArray + ");");

另外,修改 Javascript 函数

    function Test(Str) {
        for (var i = 1; i <= Str.length; i++)
            alert("yourArr[" + i + "]: " + Str[i], "/n");
    }
于 2013-03-28T08:47:17.697 回答