日期:2014-05-18 浏览次数:20851 次
int n = Convert.ToInt32(Label1.Text); Label1.Text = (n >= 10) ? "10" : (n + 1).ToString();
------解决方案--------------------
js定时刷新页面
------解决方案--------------------
TextBox1.Text += i;
后面加一句
response.write("i="&i&"<br />");
------解决方案--------------------
如此“逐条输出”。就是分行显示啊。。。
给文本框TextMode设置MultiLine。
TextBox1.Text += i;
=〉
TextBox1.Text += (i.ToString() + "\n");
------解决方案--------------------
有两种简单的方法:
一、把页面超时时间设的足够长,设置页面缓存,每输出一行flush一次修改控件值的脚本。
二、一次将数据输出到浏览器中,然后用js控制达到逐条显示的效果。
------解决方案--------------------
这个还是很早以前写asp的时候为了显示一段脚本的执行过程想的办法,方法不是很好,不过简单:
for (int i = 0; i < 10; i++)
{
DateTime dtm = DateTime.Now;
while (DateTime.Now.Subtract(dtm).TotalSeconds < 2) ;
Response.Write("<script type='text/javascript'>document.body.all.txtMain.value = " + i + ";</script>\n");
Response.Flush();
}
现在来说可能用ajax做长连接比较好,不过那时候还不知道ajax为何物。
------解决方案--------------------
一看就是新手、控件流。
生成静态的时候,用FOR是不对的,比如你有5000篇文章要生成,你FOR这一下,要等5000篇生成完后客户端才会有反……
这个时间将非常的长,还没等你整完,已经超时了,
或者你要说改超时时间,
当然,那是可以的
但那时你会知道“等待是种煎熬”
我见过的做法:
Default.aspx中获取要生成的文章主键列表,例如ID=[1,2,3,4,5,6];
丢给JS(建议使用Jquery框架的ajax)
JS数组循环(这里要考虑等上一次生成执行完之后才能取下一个ID)
ajax将ID值做为参数POST给Create.ashx(此程序负责生成)
例如 Create.ashx?ID=1 这样的形式。
生成完毕Create.ashx输入“生成XXXX成功”的信息
JS将此信息通过DOM操作显示在Default.aspx的页面上。
要简单示例,加QQ:603869636