我需要在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);");
}
如何解决这个问题?
答案 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+");");