"Bestcomy.Web.Controls.Upload"可以实现上传,并显示上传进度。
后台文件中的使用方法是这样的:public class ProgressBar : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label txt_progressinfo;
protected System.Web.UI.WebControls.Label txt_speed;
protected System.Web.UI.WebControls.Button btn_ok;
protected System.Web.UI.WebControls.Label txt_leftTime;
protected System.Web.UI.WebControls.Button btn_cancle;
protected System.Web.UI.WebControls.Label txt_filename;
public double wd = 0;
private void Page_Load(object sender, System.EventArgs e)
{
btn_ok.Enabled=false;
Progress proc = new Progress(Request["UploadID"]);
if(proc.IsActive)
{
string status = String.Empty;
switch(proc.UploadStatus)
{
case Progress.UploadStatusEnum.Initializing:
status = "初始化...";
break;
case Progress.UploadStatusEnum.Uploading:
status = "上传中...";
break;
case Progress.UploadStatusEnum.Uploaded:
status = "上传完成。";
break;
case Progress.UploadStatusEnum.Moving:
status = "移动文件...";
break;
case Progress.UploadStatusEnum.Completed:
status = "完成。";
break;
}
txt_progressinfo.Text = status;
txt_filename.Text = proc.FileName;
if(proc.UploadStatus == Progress.UploadStatusEnum.Uploading)
{
wd = proc.Percent;
txt_speed.Text = proc.GetFormatString(proc.Speed)+"/秒";
txt_leftTime.Text = proc.GetFormatString(proc.LeftTime);
Response.AppendHeader("Refresh","3");
}
else if(proc.UploadStatus == Progress.UploadStatusEnum.Completed)
{
wd = proc.Percent;
txt_filename.Text = proc.FileCount.ToString()+"个文件上传成功!";
txt_speed.Text = proc.GetFormatString(proc.Speed)+"/秒";
txt_leftTime.Text = "已完成,无时间剩余。";
proc.Dispose();
btn_ok.Attributes.Add("onclick","javascript:window.opener=self;window.close();return false;");
btn_ok.Enabled=true;
}
else
{
Response.AppendHeader("Refresh","3");
}
if(proc.UploadStatus == Progress.UploadStatusEnum.Completed)
btn_cancle.Attributes.Add("onclick","javascript:window.opener=self;window.close();return false;");
else
btn_cancle.Attributes.Add("onclick","javascript:if(window.opener==null || window.opener==self){this.disabled=true;}else{window.opener.opener=null;window.opener.close();this.disabled=true;}return false;");
}
else
{
RegisterClientScriptBlock("closeScript","<script>window.opener=self;window.close();</script>");
}
// 在此处放置用户代码以初始化页面
}问题一:前台界面根本没有引入"Bestcomy.Web.Controls.Upload"控件,怎么显示浏览呢,没有浏览怎样选择项目???问题二:所有标红的地方都会报错,这是为什么呢???问题三:"Bestcomy.Web.Controls.Upload"控件究竟是怎样引入的呢???
后台文件中的使用方法是这样的:public class ProgressBar : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label txt_progressinfo;
protected System.Web.UI.WebControls.Label txt_speed;
protected System.Web.UI.WebControls.Button btn_ok;
protected System.Web.UI.WebControls.Label txt_leftTime;
protected System.Web.UI.WebControls.Button btn_cancle;
protected System.Web.UI.WebControls.Label txt_filename;
public double wd = 0;
private void Page_Load(object sender, System.EventArgs e)
{
btn_ok.Enabled=false;
Progress proc = new Progress(Request["UploadID"]);
if(proc.IsActive)
{
string status = String.Empty;
switch(proc.UploadStatus)
{
case Progress.UploadStatusEnum.Initializing:
status = "初始化...";
break;
case Progress.UploadStatusEnum.Uploading:
status = "上传中...";
break;
case Progress.UploadStatusEnum.Uploaded:
status = "上传完成。";
break;
case Progress.UploadStatusEnum.Moving:
status = "移动文件...";
break;
case Progress.UploadStatusEnum.Completed:
status = "完成。";
break;
}
txt_progressinfo.Text = status;
txt_filename.Text = proc.FileName;
if(proc.UploadStatus == Progress.UploadStatusEnum.Uploading)
{
wd = proc.Percent;
txt_speed.Text = proc.GetFormatString(proc.Speed)+"/秒";
txt_leftTime.Text = proc.GetFormatString(proc.LeftTime);
Response.AppendHeader("Refresh","3");
}
else if(proc.UploadStatus == Progress.UploadStatusEnum.Completed)
{
wd = proc.Percent;
txt_filename.Text = proc.FileCount.ToString()+"个文件上传成功!";
txt_speed.Text = proc.GetFormatString(proc.Speed)+"/秒";
txt_leftTime.Text = "已完成,无时间剩余。";
proc.Dispose();
btn_ok.Attributes.Add("onclick","javascript:window.opener=self;window.close();return false;");
btn_ok.Enabled=true;
}
else
{
Response.AppendHeader("Refresh","3");
}
if(proc.UploadStatus == Progress.UploadStatusEnum.Completed)
btn_cancle.Attributes.Add("onclick","javascript:window.opener=self;window.close();return false;");
else
btn_cancle.Attributes.Add("onclick","javascript:if(window.opener==null || window.opener==self){this.disabled=true;}else{window.opener.opener=null;window.opener.close();this.disabled=true;}return false;");
}
else
{
RegisterClientScriptBlock("closeScript","<script>window.opener=self;window.close();</script>");
}
// 在此处放置用户代码以初始化页面
}问题一:前台界面根本没有引入"Bestcomy.Web.Controls.Upload"控件,怎么显示浏览呢,没有浏览怎样选择项目???问题二:所有标红的地方都会报错,这是为什么呢???问题三:"Bestcomy.Web.Controls.Upload"控件究竟是怎样引入的呢???
解决方案 »
- MVC和kendoUI中的Grid
- asp中是如何实现购物车的?
- 请教一下,为什么新建一个asp.net web应用程序,提示如下的错误呢?
- 分不多了,干坏事问题,请高手指点:如何让服务器上人家公司做的的asp.net程序经常出点问题而又很难找出或解决问题除了重装系统
- 高手进!xmldom的问题
- asp.net 一般处理程序怎么调用?
- 页面类继承中如果处理 Request 属性,提示“请求在此上下文中不可用”。
- 为什么在asp.net中开启Excel物件,却无法将其释放。
- 关于验证问题。
- 关于一个SQL语句
- asp.net 上传 预览
- ASP.NET中怎么实现单击鼠标事件就可以完成父子窗口间传值问题
错误 451 “Bestcomy.Web.Controls.Upload.Progress”不包含“IsActive”的定义,并且找不到可接受类型为“Bestcomy.Web.Controls.Upload.Progress”的第一个参数的扩展方法“IsActive”(是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Desktop\WebSiteBdrl\manage\ProgressBar.aspx.cs 32 12 C:\...\WebSiteBdrl\错误 452 “Bestcomy.Web.Controls.Upload.Progress”不包含“UploadStatus”的定义,并且找不到可接受类型为“Bestcomy.Web.Controls.Upload.Progress”的第一个参数的扩展方法“UploadStatus”(是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Desktop\WebSiteBdrl\manage\ProgressBar.aspx.cs 35 17 C:\...\WebSiteBdrl\错误 453 “Bestcomy.Web.Controls.Upload.Progress”不包含“FileName”的定义,并且找不到可接受类型为“Bestcomy.Web.Controls.Upload.Progress”的第一个参数的扩展方法“FileName”(是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Desktop\WebSiteBdrl\manage\ProgressBar.aspx.cs 54 30 C:\...\WebSiteBdrl\错误 454 “Bestcomy.Web.Controls.Upload.Progress”不包含“UploadStatus”的定义,并且找不到可接受类型为“Bestcomy.Web.Controls.Upload.Progress”的第一个参数的扩展方法“UploadStatus”(是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Desktop\WebSiteBdrl\manage\ProgressBar.aspx.cs 55 13 C:\...\WebSiteBdrl\等等,都是这类型的。
<add name="UploadModule" type="Bestcomy.Web.Controls.Upload.UploadModule,Bestcomy.Web.Controls.Upload" />
</httpModules>
是Web.config中的:
<!--
<httpModules>
<add name= "UploadModule"type= "Bestcomy.Web.Controls.Upload.UploadModule,Bestcomy.Web.Controls.Upload"/>
</httpModules>
-->这一段是吧,好像被注释掉了。不过取消注释还是不行啊。
namespace Bestcomy.Web.Controls.Upload
{
public class Progress
{
public Progress(string UploadID);public void Abort();
public void Dispose();
public int get_FileCount();
public string get_FileName();
public TimeSpan get_LeftTime();
public int get_Percent();
public long get_ReceivedLength();
public double get_Speed();
public long get_TotalLength();
public Progress.UploadStatusEnum get_UploadStatus();
public string GetFormatString(double size);public enum UploadStatusEnum
{
Initializing = 0,
Uploading = 1,
Uploaded = 2,
Moving = 3,
Completed = 4,
Error = 5,
}
}从元数据看确实不包含“UploadStatus”的定义,不明白了,为什么他们能这样写呢???