У меня есть проблема с функцией javascript вызова (в .aspx-файле) из C# (в файле .aspx.cs) в цикле. Код ниже не работает. Ничего не произошло. Что не так? Я прочитал несколько сообщений о переполнении стека, но ничего не работает.RegisterStartupScript в цикле
Вот код:
int i = 1;
while (i<10)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key" + i.ToString(), "myFunction('" + i + "')", true);
i++;
}
функция JavaScript
function myFunction(i){
document.write(i);
}
Но этот код работать, но это меня не интересует.
string something = "something";
Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "myFunction('" + something + "')", true);
Целые автоматически анализироваться в строковое значение, когда это необходимо в JavaScript, C# и VB.NET; 'i.ToString()' не нужно. Кроме этого вам нужно добавить ';' в конец вашей функции, иначе вы получите что-то вроде этого, представленного на вашей странице: 'myFunction ('1') myFunction ('2') myFunction ('3') myFunction ('4') ' – Lopsided
Ваш код действительно работает в моей среде. Хотя я преобразовал его в VB.NET. – Lopsided
, конечно, я забыл ';' в конце моей функции. спасибо за ответы Стив Падмор и Lopsided –