Response.Flush为什么失效?在AJAX应用中

jefflam 2009-05-08 04:20:19
找了很久的答案,就一个256字节的问题。
Dim liji As String
For ok = 1 To 500
liji = liji & "<!--256numbers-->"
If Len(liji) >= 500 Then Exit For
Next
可我已经加了那么多信息进去了,为什么还是执行完毕后全部显示而不是一条条的按记录显示?

我用vs2003 .net1.1

Response.BufferOutput = True

这个已经设置真,貌似设置假也没用

Response.Flush()
这个是在循环中每完成一步就执行的

请问这是啥原因呢?
谢谢各位。
...全文
503 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jefflam 2009-05-12
  • 打赏
  • 举报
回复
楼上的大师,多谢,我去试试代码可行不。
jefflam 2009-05-12
  • 打赏
  • 举报
回复
大师,你的代码在.NET2下是可以的,但是.NET1.1是没办法的,我还在测试。

不管如何。感谢你。
jefflam 2009-05-11
  • 打赏
  • 举报
回复
周一了,大伙儿工作顺利啊,有空来指点下嘛
阿非 2009-05-11
  • 打赏
  • 举报
回复
GetSessionHandler.ashx

<%@ WebHandler Language="C#" Class="GetSessionHandler" %>

using System;
using System.Web;

public class GetSessionHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
String tempStr = context.Session["a"] != null ? context.Session["a"].ToString() : "";
context.Response.Write(tempStr);
}

public bool IsReusable {
get {
return false;
}
}

}
阿非 2009-05-11
  • 打赏
  • 举报
回复

<%@ Page Language="C#" AutoEventWireup="true" EnableSessionState="True" CodeFile="MultiThread.aspx.cs" Inherits="ajax_jquery_MultiThread" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script src="jquery-1.2.6.min.js"></script>
<script>
function ajaxGet()
{
$.get("GetSessionHandler.ashx",{date:new Date()},
function(data){
var num=parseInt(data);
if((!isNaN(num))&&(num<100))
{
$("#result").text(num+"%");
window.setTimeout(ajaxGet, 1000);
}
else if((!isNaN(num))&&(num==100))
{
$("#result").text("100%");
window.setTimeout('$("#result").text("发送已完成");', 2000);
}
}
);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:Button ID="btn" runat="server" Text="上传" OnClick="btn_Click" />
<div id="result"></div>
</form>
</body>
</html>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class ajax_jquery_MultiThread : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
{


}
protected void btn_Click(object sender, EventArgs e)
{
Session["a"] = "0";
System.Threading.Thread NewTh = new System.Threading.Thread(new System.Threading.ThreadStart(Update));

NewTh.Start();
ClientScript.RegisterStartupScript(this.GetType(), "ajaxGet", "ajaxGet();", true);
}

void Update()
{

try
{
//模拟邮件发送
Session["a"] = "10";
System.Threading.Thread.Sleep(3000);
Session["a"] = "30";
System.Threading.Thread.Sleep(3000);
Session["a"] = "50";
System.Threading.Thread.Sleep(3000);
Session["a"] = "80";
System.Threading.Thread.Sleep(3000);
Session["a"] = "100";
System.Threading.Thread.Sleep(3000);

}
catch (Exception ee)
{
String exceptionStr = ee.StackTrace;
}
}

}
jefflam 2009-05-10
  • 打赏
  • 举报
回复
周末啦,各位都在家休息吗?呵呵,有空来指点啊
jefflam 2009-05-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
显示进度条或在每一步定时显示提示信息
[/Quote]

这就是我想要的效果啊,可是不能出来,要用什么代码才可以实现呢?
jefflam 2009-05-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Sandy945 的回复:]
http://topic.csdn.net/u/20090429/16/03f22951-f0c9-4fee-86b4-fb2276666058.html
[/Quote]

这个我看了半天领悟不来~~
jefflam 2009-05-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Sandy945 的回复:]
如果你想实时 获取 哪需要多线程和ajax 结合实现

[/Quote]

请问这种要如何实现?有否代码可供参考呢?谢谢
wuyq11 2009-05-08
  • 打赏
  • 举报
回复
显示进度条或在每一步定时显示提示信息
阿非 2009-05-08
  • 打赏
  • 举报
回复
如果你想实时 获取 哪需要多线程和ajax 结合实现

当然 模拟的话 很容易 只需要js的setInterval()函数 或setTimeout()函数 就可以实现
jefflam 2009-05-08
  • 打赏
  • 举报
回复
Response.BufferOutput = True
忘记说了,这句话删除了也还是没反应,都是页面执行完毕才出现全部结果。

结果如下:

提示:共有116封邮件,已经下载:5
共有116封邮件,已经下载:10
共有116封邮件,已经下载:15
共有116封邮件,已经下载:20
共有116封邮件,已经下载:25
共有116封邮件,已经下载:30
共有116封邮件,已经下载:35
共有116封邮件,已经下载:40
共有116封邮件,已经下载:45
共有116封邮件,已经下载:50
共有116封邮件,已经下载:55
共有116封邮件,已经下载:60
共有116封邮件,已经下载:65
共有116封邮件,已经下载:70
共有116封邮件,已经下载:75
共有116封邮件,已经下载:80
共有116封邮件,已经下载:85
共有116封邮件,已经下载:90
共有116封邮件,已经下载:95
共有116封邮件,已经下载:100
共有116封邮件,已经下载:105
共有116封邮件,已经下载:110
共有116封邮件,已经下载:115
下载完成

全部写在一个span里面了,而不是一次次提示说已经下载到哪里了。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧