Re: Using AjaxUploader with a DetailsView (upload/insert at same time)

  •  08-20-2009, 1:13 AM

    Re: Using AjaxUploader with a DetailsView (upload/insert at same time)

    Hi,
     
    Please check this sample:
     
    1. <%@ Page Language="C#" %>  
    2.   
    3. <%@ Register TagPrefix="CuteWebUI" Namespace="CuteWebUI" Assembly="CuteWebUI.AjaxUploader" %>  
    4. <%@ Import Namespace="CuteWebUI" %>  
    5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    6.   
    7. <script runat="server">  
    8.     protected override void OnLoad(EventArgs e)   
    9.     {   
    10.         base.OnLoad(e);   
    11.   
    12.         if (!IsPostBack)   
    13.         {   
    14.             BindDetails();   
    15.         }   
    16.     }   
    17.   
    18.     private void BindDetails()   
    19.     {   
    20.         DetailsView1.DataSource = new DateTime[] { DateTime.Now };   
    21.         DetailsView1.DataBind();   
    22.     }   
    23.   
    24.     protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)   
    25.     {   
    26.         UploadPersistedFile pf=(UploadPersistedFile)DetailsView1.FindControl("uploader1");   
    27.         if (pf.File != null)   
    28.         {   
    29.             this.Title = "PageIndexChaging, saving " + pf.File.FileName;   
    30.         }   
    31.            
    32.         DetailsView1.PageIndex = e.NewPageIndex;   
    33.         BindDetails();   
    34.     }   
    35.   
    36.     protected void uploader1_FileValidating(object sender, UploaderEventArgs args)   
    37.     {   
    38.         if (args.FileSize>1000000)   
    39.             throw (new Exception(args.FileName+" is to big"));   
    40.     }   
    41.   
    42.     protected void btnSubmit_Click(object sender, EventArgs e)   
    43.     {   
    44.         UploadPersistedFile pf = (UploadPersistedFile)DetailsView1.FindControl("uploader1");   
    45.         if (pf.File != null)   
    46.         {   
    47.             //pf.File.CopyTo("NewFolder/"+pf.File.FileName);//MoveTo   
    48.             labelMsg.Text = "File saved : " + pf.File.FileName;   
    49.         }   
    50.         else   
    51.         {   
    52.             labelMsg.Text = "No file!";   
    53.         }   
    54.     }   
    55. </script>  
    56.   
    57. <html xmlns="http://www.w3.org/1999/xhtml">  
    58. <head runat="server">  
    59.     <title>Untitled Page</title>  
    60.     <script type="text/javascript">  
    61.     var uploader;   
    62.     function CuteWebUI_AjaxUploader_OnInitialize()   
    63.     {   
    64.         uploader=this;   
    65.     }   
    66.     function CuteWebUI_AjaxUploader_OnPostback()   
    67.     {   
    68.         document.getElementById('<%=btnSubmit.ClientID %>').click();   
    69.         return false;   
    70.     }   
    71.     function StartUpload()   
    72.     {   
    73.         if(uploader.getqueuecount()>0)   
    74.             uploader.startupload();   
    75.         else   
    76.             alert("please select a file");   
    77.     }   
    78.     </script>  
    79. </head>  
    80. <body>  
    81.     <form id="form1" runat="server">  
    82.         <div>  
    83.             <asp:DetailsView runat="server" ID="DetailsView1" AllowPaging="True" OnPageIndexChanging="DetailsView1_PageIndexChanging">  
    84.                 <Fields>  
    85.                     <asp:TemplateField HeaderText="Attachment">  
    86.                         <ItemTemplate>  
    87.                             <CuteWebUI:UploadPersistedFile id="uploader1" ManualStartUpload="True" runat="server" ItemTextTemplate="{0} {1} " OnFileValidating="uploader1_FileValidating" />  
    88.                         </ItemTemplate>  
    89.                     </asp:TemplateField>  
    90.                 </Fields>  
    91.             </asp:DetailsView>  
    92.             <asp:Button runat=server id="btnSubmit" Text="Submit" Style="display:none;" OnClick="btnSubmit_Click" />  
    93.             <button onclick="StartUpload();return false;">save profile</button>  
    94.             <asp:Label runat=server ID="labelMsg" />  
    95.         </div>  
    96.     </form>  
    97. </body>  
    98. </html>  

    Regards,
    Terry
     
View Complete Thread