我在循环中从C#(在.aspx.cs文件中)调用javascript函数(在.aspx文件中)有问题。下面的代码不起作用。什么都没发生。怎么了?关于它的堆栈溢出我读了一些帖子,但没什么用。
这是代码:
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);
答案 0 :(得分:1)
而不是你的循环,试试这个:
ClientScriptManager cs = Page.ClientScript;
string csName = "MyScript";
Type csType = this.GetType();
for(int i = 1; i <= 10; i++)
{
string currentName = string.Format("{0}{1}", csName, i);
if (!cs.IsStartupScriptRegistered(csType, currentName))
{
string csText = string.Format("myFunction('{0}');", i);
cs.RegisterStartupScript(csType, currentName, csText, true);
}
}