This example demonstrates how to use the MVC UploadControl Extension to upload files.
Add an upload control and specify its Name and CallbackRouteValues properties.
@Html.DevExpress().UploadControl(settings => {
settings.Name = "uc";
settings.CallbackRouteValues = new { Controller = "Home", Action = "UploadControlCallbackAction" };
<!-- ... -->
}).GetHtml()
Create a button and handle its client-side Click
event. In the hanlder, call the upload control's Upload
method to post the selected file to the server's memory.
function OnClick(s, e) {
uc.Upload();
}
@using(Html.BeginForm("UploadControlCallbackAction", "Home", FormMethod.Post)) {
Html.RenderPartial("UploadControlPartial");
@Html.DevExpress().Button(button => {
button.Name = "btnUploadFile";
button.Text = "Upload File";
button.ClientSideEvents.Click = "OnClick";
}).GetHtml()
}
To obtain uploaded files, call the upload control's server-side GetUploadedFiles method and pass validation settings and the UploadComplete
event handler as parameters.
public ActionResult UploadControlCallbackAction() {
UploadControlExtension.GetUploadedFiles("uc", UploadControlDemosHelper.ValidationSettings, UploadControlDemosHelper.uc_FileUploadComplete);
return null;
}
To pass information to the client, use the e.CallbackData
argument property in the UploadComplete
event handler. Then, handle the client-side FileUploadComplete
event and use its e.callbackData
argument property to get the passed information.
(you will be redirected to DevExpress.com to submit your response)