如何在javascript中的警报弹出窗口中显示字符串数组值

时间:2013-03-28 08:23:11

标签: c# javascript asp.net

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

    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 popup无效。我怎么能这样做..

2 个答案:

答案 0 :(得分:1)

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

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

}

如果您使用的是上述功能,则会出现一些错误:

  • 使用yourArr [i]代替Str [i]
  • 使用,(befor“/ n”)代替+
  • 使用“/ n”代替“\ n”
  • 提醒每个字符串而不是一包字符串

答案 1 :(得分: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");
    }