2011-05-31 48 views
0

我寫了下面的提醒,但它不顯示警告框,什麼是錯的這個警報不工作有什麼錯在這個

protected void Timer1_Tick(object sender, EventArgs e) 
{ 
    string str = string.Empty; 
    str = "Total Count: '" + click + "'"; 

    Response.Write("<Script>alert('" + str + "')</script>"); 
    click = 0; 
} 

回答

2

你嵌套了單引號,嘗試不使用:

str = "Total Count: " + click; 
    Response.Write("<Script>alert('" + str + "')</script>"); 
4

你應該逃脫你撇在下面一行:

變化:

str = "Total Count: '" + click + "'"; 

要:

str = "Total Count: \'" + click + "\'"; 
+0

是的,因爲由於你的字符串連接,你已經結束了「警報(」總計數''')「 – 2011-05-31 13:39:27

+0

這是OP在問題中寫的。就我個人而言,我(和其他大多數人,似乎)會留下嵌套的引號,但這個選擇留給OP。 – 2011-05-31 13:51:22

0

當你的方法的簽名是Timer1_Tick,我假設你正在使用的ScriptManager。向ScriptManager注入javascript的正確方法是:

ScriptManager.RegisterClientScriptBlock(this, typeof(this), "alert", "alert('" + str + "');", true) 
1

您忘記了'@'和';'在報警功能特點:

替換此行:

Response.Write("<Script>alert('" + str + "')</script>"); 

與此:

Response.Write(@"<script type='text/javascript'>alert('" + str + "');</script>");