my web config is register as following:
<
httpHandlers>
<
add path="ChartAxd.axd" verb="*" type="Dundas.Charting.WebControl.ChartHttpHandler" validate="false"/>
<
add verb="*" path="Telerik.RadUploadProgressHandler.aspx" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2" />
</
httpHandlers>
<
httpModules>
<
add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<
add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2" />
</
httpModules>
and here is my cs page:
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
using
Telerik.Web.UI;
using
Telerik.Web.UI.Upload;
public
partial class UploadFile : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
RadProgressArea1.ProgressIndicators &= ~
ProgressIndicators.SelectedFilesCount;
}
protected void buttonSubmit_Click(object sender, System.EventArgs e)
{
UploadedFile file = UploadedFile.FromHttpPostedFile(Request.Files[File1.UniqueID]);
if(!Object.Equals(file, null))
{
LooongMethodWhichUpdatesTheProgressContext(file);
}
}
private void LooongMethodWhichUpdatesTheProgressContext(UploadedFile file)
{
const int total = 100;
RadProgressContext progress = RadProgressContext.Current;
for (int i = 0; i < total; i++)
{
progress.PrimaryTotal = 1;
progress.PrimaryValue = 1;
progress.PrimaryPercent = 100;
progress.SecondaryTotal = total;
progress.SecondaryValue = i;
progress.SecondaryPercent = i;
progress.CurrentOperationText = file.GetName() +
" is being processed...";
if (!Response.IsClientConnected)
{
//Cancel button was clicked or the browser was closed, so stop processing
break;
}
//Stall the current thread for 0.1 seconds
System.Threading.
Thread.Sleep(100);
}
}
}