做了一个客户端显示进度的功能
服务器端向客户端循环写入js
用Response.Write("<script language='javascript'>parent.window.labelid.innerText+='"+i+"'</script>")
显示错误:对象不cunzai
用 ClientScript.RegisterStartupScript(Me.GetType(), " ", "<script language='javascript'>parent.window.labelid.innerText+='"+i+"'</script>")不起作用,要等到循环结束 才执行
有没有什么好的方法 输出js到客户端即时执行的,谢谢
服务器端向客户端循环写入js
用Response.Write("<script language='javascript'>parent.window.labelid.innerText+='"+i+"'</script>")
显示错误:对象不cunzai
用 ClientScript.RegisterStartupScript(Me.GetType(), " ", "<script language='javascript'>parent.window.labelid.innerText+='"+i+"'</script>")不起作用,要等到循环结束 才执行
有没有什么好的方法 输出js到客户端即时执行的,谢谢
正确的思路应该是请求第一次到达server端后,开启一个新线程,新线程负责读取进度和循环写当前session。
主线程可以立即返回,不断异步请求当前session。
具体实现请参考阿飞的文章。
http://topic.csdn.net/u/20100727/10/6710495c-a47c-45ab-8cf2-bd8f57ac5d78.html
{
Page.RegisterStartupScript(i.ToString(), "<script>aler('12');</script>");
}楼主你可以这样尝试一下。每一次请求的type都必须不同,这样才能执行
http://blog.csdn.net/net_lover/archive/2009/09/12/4546586.aspx
{
Response.BufferOutput = true;
for (int i = 0; i < 1000; i++)
{
Response.Write("<h1>"+i+"</h1>");
Response.Write("<script>document.body.scrollTop=99999</"+"script>");
Response.Flush();
}
}
</script>