请问在asp.net 中Fileupload控件用来上传文件,但是我想做一个进度条,显示现在完成多少了,请问怎么实现啊,谢谢
最好给我一个c#的例子。
最好给我一个c#的例子。
解决方案 »
- textbox 只允许输入11位手机号码,少一位就提示错误如何判断,谢谢
- 怎么样让image动态变化imageURL而不刷新整个页面
- 呵呵,早上登陆CSDN验证码全是8。幸运散分!
- |M| 将才做的错误处理有一个天大的错误
- 谁能解释一下:TextBox的属性EnableViewState为true和false时的区别?怎么我都试了,可看不出来啊!
- .net,sql防注入?要怎么搞的?哪位大哥提点下
- 在WebForm中如何实现交互
- 求预编译的文章
- 初来咋道问个简单的问题,为何不能调试运行asp.net程序.
- 求助,我想在DetailsView中新建记录时,应该如何获得该该控件的值。
- 一个类型转换的问题,高手来看看 晕半天了...
- 用asp.net代码怎样实现数据库备份和还原,急急急!!!!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title> <script type="text/javascript">
var xmlHttp;
var key;
function createXmlHttpRequest()
{
if(window.ActiveXObject)
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XmlHttpRequest)
xmlHttp=new XmlHttpRequest();
}
function go()
{
checkDiv();
createXmlHttpRequest();
xmlHttp.onreadystatechange=callback;
xmlHttp.open("get","ProgressBar.aspx?task=create",true);
xmlHttp.send(null);
}
function callback()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
setTimeout("pollServer()",1000);
}
}
function pollServer()
{
createXmlHttpRequest();
xmlHttp.onreadystatechange=pollCallback;
xmlHttp.open("get","ProgressBar.aspx?task=poll&key="+key,true);
xmlHttp.send(null);
}
function pollCallback()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
key++;
var percent=xmlHttp.responseXML.getElementsByTagName("percent")[0].firstChild.nodeValue;
var end=loadPercent(percent);
for(var i=1;i<=end;++i)
{
var span=document.getElementById("block"+i);
span.innerHTML=" ";
span.style.backgroundColor="gray";
}
if(end<9)
{
end++;
var span=document.getElementById("block"+end);
span.innerHTML=percent+"%";
setTimeout("pollServer()",1000);
}
else
{
document.getElementById("complete").innerHTML="complete";
document.getElementById("go").disabled=false;
}
}
}
function loadPercent(percent)
{
if(percent.length==1)
return 1;
else if(percent.length==2)
return percent.substring(0,1);
return 9;
}
function checkDiv()
{
key=1;
var pb=document.getElementById("progressBar");
if(pb.style.visibility=="visible")
{
clearBar();
document.getElementById("complete").innerHTML="";
}
else
pb.style.visibility="visible";
}
function clearBar()
{
for(var i=1;i<=9;++i)
{
var elem=document.getElementById("block"+i);
elem.innerHTML=" ";
elem.style.backgroundColor="white";
}
}
</script></head>
<body>
<h1>
Ajax Progress Bar Example</h1>
Launch long-running process:
<input type="button" value="launch" id="go" onclick="go();" />
<p>
<table align="center">
<tbody>
<tr>
<td>
<div id="progressBar" style="padding: 2px; border: solid black 2px; visibility: hidden">
<span id="block1"> </span> <span id="block2"> </span>
<span id="block3"> </span> <span id="block4"> </span>
<span id="block5"> </span> <span id="block6"> </span>
<span id="block7"> </span> <span id="block8"> </span>
<span id="block9"> </span>
</div>
</td>
</tr>
<tr>
<td align="center" id="complete" style="height: 21px">
</td>
</tr>
</tbody>
</table>
</p>
</body>
</html>
昨晚刚写的,cs代码见下帖
{
string task = this.Request.QueryString["task"];
string percent = "";
if (string.Compare("create", task) == 0)
{
}
else
{
string key = this.Request.QueryString["key"];
switch (key)
{
case "1":
percent = "10";
break;
case "2":
percent = "23";
break;
case "3":
percent = "35";
break;
case "4":
percent = "51";
break;
case "5":
percent = "64";
break;
case "6":
percent = "73";
break;
case "7":
percent = "89";
break;
case "8":
percent = "100";
break;
}
}
StringBuilder sb = new StringBuilder();
sb.Append("<response><percent>").Append(percent).Append("</percent></response>");
this.Response.ContentType = "text/xml";
this.Response.Write(sb.ToString());
this.Response.Flush();
this.Response.Close();
}
赞成this.Response.ContentType = "text/xml "; 看好格式,xml