Categories
Asp, Asp.net

Upload File With Asp .Net AsyncFileUpload Control Inside ModalPopupExtender

Upload File With Asp .Net AsyncFileUpload Control Inside ModalPopupExtender

In this tutorial i will let you know how to Upload File With Asp .Net AsyncFileUpload Control Inside ModalPopupExtender.On my previous post i explain how to use modal popup extender.Here we placed AsyncFileUpload control in modal popup extender to achieve this.

AsyncFileUpload is an Ajax Control to upload file asynchronously. Click on browse/select file button and choose file location then the control will automatically upload the file to server.But here i have used OnUploadComplete event to save it in a user defined directory.

Design View:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.popup {
background-color: #ddd;
margin: 0px auto;
width: 450px;
position: relative;
border: Gray 2px inset;
}
.popup .content {
padding: 20px;
background-color: #ddd;
float: left;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
<asp:Panel ID="Panel1" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" />
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" CssClass="popup">
<p class="content">
<asp:AjaxFileUpload ID="AjaxFileUpload1" OnUploadComplete="UploadComplete" ThrobberID="loader" Width="400px" runat="server" />
<br />
<br />
<asp:Image ID="loader" runat="server" ImageUrl ="ajax-loading.gif" Style="display:None"/>
<asp:Button ID="ok" runat="server" Text="ok" />
</p>
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" OkControlID="ok" PopupControlID="Panel2" TargetControlID="Panel1" runat="server"></asp:ModalPopupExtender>
</div>
</form>
</body>
</html>

Code View: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
     string path = Server.MapPath("~/Uploads/") + e.FileName;
     AjaxFileUpload1.SaveAs(path);
    }
}