#c# #.net #asp.net #javascript
#c# #.net #asp.net #javascript
Вопрос:
Я пишу следующее в alert, но оно не отображает окно предупреждения, что в этом не так
protected void Timer1_Tick(object sender, EventArgs e)
{
string str = string.Empty;
str = "Total Count: '" click "'";
Response.Write("<Script>alert('" str "')</script>");
click = 0;
}
Ответ №1:
Вы должны избегать своих апостроф в следующей строке:
Изменить:
str = "Total Count: '" click "'";
Для:
str = "Total Count: '" click "'";
Комментарии:
1. да, потому что из-за вашей конкатенации строк вы бы получили «alert (‘Общее количество»‘)»
2. Это то, что OP написал в вопросе. Лично я (и, похоже, большинство всех остальных) не стал бы использовать вложенные кавычки, но этот выбор остается за оператором.
Ответ №2:
У вас есть вложенные одинарные кавычки, попробуйте без:
str = "Total Count: " click;
Response.Write("<Script>alert('" str "')</script>");
Ответ №3:
Вы забыли символы ‘@’ и ‘;’ в функции оповещения:
Замените эту строку:
Response.Write("<Script>alert('" str "')</script>");
с этим:
Response.Write(@"<script type='text/javascript'>alert('" str "');</script>");
Ответ №4:
Поскольку сигнатурой вашего метода является timer1_Tick, я предполагаю, что вы используете ScriptManager. Правильный способ внедрить javascript с помощью ScriptManager — это:
ScriptManager.RegisterClientScriptBlock(this, typeof(this), "alert", "alert('" str "');", true)