2013-03-28 21 views
0

我必須在JavaScript警報彈出窗口中顯示字符串數組,該彈出窗口將顯示字符串索引或序列號,然後空格後字符串數組值,然後換行符。然後顯示該數組字符串中所有值的相同方式。我的代碼不起作用。如何在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 popup沒有工作。我該怎麼辦..

+1

你嘗試過什麼?你在哪裏遇到麻煩?你不明白什麼? – 2013-03-28 08:25:14

+3

看起來你在調用'test2(Str)',但函數名爲'Test()'? – adeneo 2013-03-28 08:26:06

+2

什麼是'yourArr'在那裏 – 2013-03-28 08:26:35

回答

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」 個
  • 警報每個字符串而不是串
  • 的包
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"); 
    }