Migrating From 4.x
AjaxUploader 5.0 is designed to let older Web Forms projects move forward without forcing a full rewrite on day one.
What stays familiar
- The
CuteWebUInamespace still exists for upgrade scenarios. - Legacy controls such as Uploader, UploadAttachments, and UploadPersistedFile are still shipped.
- Legacy event and file wrapper types such as UploaderEventArgs, AttachmentItem, and PersistedFile are still available.
What changed
- The runtime is HTML5-based. Old Flash and Silverlight-era settings remain for compatibility, but they do not bring those runtimes back.
- New development should prefer the
AjaxUploader.*namespaces, especially AjaxFileUpload. AjaxUploader.dllis the main shipping assembly for v5.CuteWebUI.AjaxUploader.dllis only needed when an older project still references the old assembly name.- The v5 license file is
ajaxuploader5.lic. - Local development on
localhost,127.0.0.1, or::1does not require license detection.
Recommended upgrade path
- Replace the old binaries with the latest
AjaxUploader.dll. - Keep your
CuteWebUImarkup and code-behind in place first. - Register the
ajaxupload.axdhandler and make sure uploads work end to end. - Verify your old server-side events and attachment flows on a real postback.
- Migrate individual pages to
AjaxUploader.Controls.*only when you want cleaner v5-native markup.
Practical assembly guidance
For a normal v5 Web Forms app:
- Use
AjaxUploader.dll - Register
AjaxUploader.Controls
For an upgraded 4.x app that still has old assembly references:
- Use
AjaxUploader.dll - Optionally keep
CuteWebUI.AjaxUploader.dllonly if the application still depends on the old assembly identity
Typical upgrade pattern
Start by keeping the old control:
<%@ Register Assembly="AjaxUploader" Namespace="CuteWebUI" TagPrefix="CuteWebUI" %>
<CuteWebUI:Uploader ID="Uploader1" runat="server"
InsertText="Select files"
MultipleFilesUpload="true"
OnFileUploaded="Uploader1_FileUploaded" />
Then move to the native v5 control later if you want:
<%@ Register Assembly="AjaxUploader" Namespace="AjaxUploader.Controls" TagPrefix="au" %>
<au:AjaxFileUpload ID="Uploader1" runat="server"
ButtonText="Select files"
Multiple="true"
OnFileUploaded="Uploader1_FileUploaded" />
Server-side events fire automatically
This is the behaviour upgraded pages depend on most, so it is worth stating plainly:
the legacy Uploader and UploadAttachments controls
post back automatically when the upload batch finishes, exactly as they did in 4.x.
Your FileUploaded, UploadCompleted, and AttachmentAdded handlers run with no submit
button on the page and no extra code - select a file, and the server-side event fires.
If you are wiring up a page from scratch with the modern AjaxFileUpload
control instead, that automatic postback is opt-in there: set AutoPostBack="true". The legacy
wrappers turn it on for you so old markup keeps working unchanged. (An explicit
AutoPostBack="false" in your markup is still honoured if a normal submit button drives the form.)
Compatibility expectation
The goal of the CuteWebUI layer is upgrade continuity:
- old markup should keep compiling
- old code-behind patterns should keep working
- server-side events (
FileUploaded,UploadCompleted,AttachmentAdded) should keep firing automatically after upload - HTML5 upload behavior should be better than the old runtime
The goal is not to recreate the old browser plugins or every legacy visual behavior exactly.