我做一个收邮件系统。需要请求两个页面达到不刷新效果,如请求a页面让他去下载邮件,请求b页面让它发回已经收取的状态。再在a里面定义一个全局application,b页面根据这个application来响应。例如a收到10封邮件的时候b应该发回来10封.但是我做出来的只能在a全部下载完成后才响应我对b页面的请求,请高手指点我应该怎么做>?
100分高分求解.
谢谢大家
100分高分求解.
谢谢大家
解决方案 »
- 基于 ASP.NET 的 PDF 插件操作问题?
- 求助...这种情况如何处理...
- 有什么好的方式实现多图片一次选择一次上传
- 如何指定文件夹下的子读取文件夹的名称???
- System.Web.HttpContext.Current.Session["a"]和aspx页面中this.Session["a"]有什么不同
- 关于FORM验证的设置问题(搞定马上给分)
- 使用application对象存储一个订单类的实例(有几万条记录的话),会不会有什么问题??
- 小问题关于字符串数组操作问题.
- datagrid 页角的使用
- 前一段写的一个同学录,欢迎大家来看看!
- 100分送出去!求XML循环递归添加子节点问题
- vs2003站点发布
a收a的,b发b的,不需要用户象等待大多数油箱一样等全部接受完了才能看到嘛.
说一下你的邮件收发机制和处理方式,可能会有帮助
a = pop.Messages[i].FromName;
if(a != null&&a.ToLower().IndexOf("gb2312?") != -1)
{
a = a.Substring(11,a.Length-13);
a = DeCode(a);
}
a += pop.Messages[i].From;
if(a != null&&a.ToLower().IndexOf("gb2312?") != -1)
{
a = a.Substring(11,a.Length-13);
a = DeCode(a);
}
if(pop.Messages[i].Subject!=null)
b = pop.Messages[i].Subject;
else
b = "<无>";
if(b.ToLower().IndexOf("gb2312") != -1)
{
b = b.Substring(11,b.Length-13);
b = DeCode(b);
}
if(a != null&&a.ToUpper().IndexOf("UTF") != -1)
{
a = a.Substring(a.IndexOf("B?")+2,a.IndexOf("?=")-a.IndexOf("B?")-2);
a = base64(a);
b = utf(b);
}
c = pop.Messages[i].Date.ToString();这是我收邮件的代码,其中有些是为了解码用的,大家不要管他。
b.aspxApplication.Lock();
string cString = (string)Application["g_xml"];
Application.UnLock();
Response.Clear();
Response.ContentType = "text/xml";
Response.Write(cString);
Response.End();
js代码::<script language="javascript">
var XmlReq,XmlReq1;
var f = 18;
var act;
var AjaxServerPageName = "server.aspx",AjaxServerPageName1 = "server3.aspx";
function CreateXmlReq()
{
try
{
XmlReq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
XmlReq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
XmlReq = null;
}
}
if(!XmlReq && typeof XMLHttpRequest != "undefined")
{
XmlReq = new XMLHttpRequest();
}
}
function CreateXmlReq1()
{
try
{
XmlReq1 = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
XmlReq1 = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
XmlReq1 = null;
}
}
if(!XmlReq1 && typeof XMLHttpRequest != "undefined")
{
XmlReq1 = new XMLHttpRequest();
}
}
function onloadaaa()
{
imgtbl.style.visibility = 'visible';
var requestUrl = AjaxServerPageName;
CreateXmlReq();
if(XmlReq)
{
XmlReq.onreadystatechange = abc;
XmlReq.open("get",requestUrl,true);
XmlReq.send();
}
act=window.setInterval(aaa,1000);
}
function abc()
{
}
function aaa()
{
if(document.getElementById("Table1").rows.length>=17)
{
window.clearInterval(act);
return;
}
CreateXmlReq1();
var requestUrl1 = AjaxServerPageName1;
if(XmlReq1)
{
XmlReq1.onreadystatechange = HandleResponse1;
XmlReq1.open("get",requestUrl1,true);
XmlReq1.send();
}
}
function HandleResponse1()
{
if( XmlReq1.readyState == 4)
{
if( XmlReq1.status == 200)
{
FillTable(XmlReq1.responseXML.documentElement);
}
}
}
function FillTable(scity)
{
ClearTable();
var auth = scity.getElementsByTagName('Table1');
var tbl = document.getElementById('Table1').getElementsByTagName("tbody")[0];
for(var i=0;i<auth.context.childNodes(0).parentNode.childNodes.length;i++)
{
var row = document.createElement("TR");
row.setAttribute("className","row");
for(var j=0;j<auth.context.childNodes(0).childNodes.length;j++)
{
var cell = document.createElement("TD");
var div1 = document.createElement("DIV");
div1.innerHTML ="<NOBR>"+ auth.context.childNodes(i).childNodes(j).text+"</NOBR>";
div1.setAttribute("className","div");
cell.appendChild(div1);
row.appendChild(cell);
}
tbl.appendChild(row)
}
imgtbl.style.visibility = 'hidden';
} function ClearTable()
{
var tbl = document.getElementById('Table1').getElementsByTagName("tbody")[0];
var row = tbl.rows.length;
//for (var i=1,j=1;j<row;i++,j++)
//{
//if (tbl.rows.length == 2){i = 1;}
//tbl.deleteRow(i);
//if (tbl.rows.length == i) {i = 0;}
//}
for(var i = 1; i < row; i ++)
{
tbl.deleteRow(1);
//alert(i);
}
}程序载入时就调用(onloadaaa())
估计大家能看明白了