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

时间:2013-03-28 06:56:28

标签: c# javascript

我需要在javascript alert弹出窗口中逐个显示所有字符串值。但我的代码不起作用。我的代码如下:

<script type="text/javascript">
    function test(x)
    {        
        for(var i = 0; i<x.length; i++)
        {
        alert(x[i]);    
        }        

    }

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

C# code:


 protected void btn_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";
       btn.Attributes.Add("onclick", "javascript:test(str);");

    }

如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

您可以简单地调用数组上的join方法来合并数组中的元素:

function test(x)
{        
    alert(x.join(","));  
}

,以上是分隔符。

编辑:

似乎你有一个想要编码为javascript的.NET数组。您可以使用Json帮助程序,如下所示:

btn.Attributes.Add("onclick", "test(" + System.Web.Helpers.Json.Encode(str) + ");return false;");

答案 1 :(得分:0)

尝试

btn.Attributes.Add("onclick", "test('"+String.join(",",str)+"'.split(','));");

答案 2 :(得分:0)

在线     btn.Attributes.Add(“onclick”,“javascript:test(str);”​​); str是一个字符串,而不是一个变量。

这应该是

btn.Attributes.Add("onclick", "javascript:test("+str+");");