2016-08-04 1 views
0

Я ищу через Интернет, чтобы использовать файл загрузки в панели обновления. Я хочу избежать обновления страницы, когда я нажимаю на загрузку файла. Так я кладу кодов в панель обновления с триггером , но до сих пор освежающий ...Загрузка файла в панель обновления до сих пор обновляется

коды:

<asp:ScriptManager runat="server" ID="ScriptManager1" EnablePartialRendering="true"></asp:ScriptManager> 
       <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
        <Triggers> 
         <asp:PostBackTrigger ControlID="imageUploadAction" /> 
        </Triggers> 
        <ContentTemplate> 
         <div class="fileUpload btn btn-primary btn-block btn-lg"> 
          <span>آپلود</span> 
          <asp:FileUpload CssClass="inputfile" runat="server" ID="imageUpload" /> 
         </div> 
         <br /> 
         <div class="alert alert-info" runat="server" id="imageAlert"></div> 
         <div style="border-bottom: 1px solid #ddd;"></div> 
         <br /> 
         <asp:Button runat="server" ID="imageUploadAction" CssClass="btn btn-block btn-lg btn-success" Text="ارسال" OnClick="imageUploadAction_Click" /> 
        </ContentTemplate> 
       </asp:UpdatePanel> 

За Код:

protected void imageUploadAction_Click(object sender, EventArgs e) 
{ 
    Debug.WriteLine("Uploading" + " " + imageUpload.HasFile); 
    Boolean fileOK = false; 
    String path = Server.MapPath("~/Assets/image/posts/"); 
    if (imageUpload.HasFile) 
    { 
     String fileExtension = System.IO.Path.GetExtension(imageUpload.FileName).ToLower(); 
     String[] allowedExtensions = { ".jpg", ".png" }; 
     for (int i = 0; i < allowedExtensions.Length; i++) 
      if (fileExtension == allowedExtensions[i]) 
       fileOK = true; 
    } 

    if (fileOK) 
    { 
     try 
     { 
      int last = getLastImage() + 1; 
      string link = path + last + ".jpg"; 
      imageUpload.PostedFile.SaveAs(link); 
      db.insertPhoto(link); 
      imageAlert.InnerText = "فایل آپلود شده است ، کد عکس : " + last; 
     } 
     catch (Exception ex) 
     { 
      ExceptionUtility.LogExceptionNotFailure(ex); 
      Debug.WriteLine(ex.ToString()); 
      imageAlert.InnerText = "فایل نمیتواند آپلود شود."; 
     } 
    } 
    else 
    { 
     imageAlert.InnerText = "فایل مجاز نیست"; 
    } 
} 

ответ

0

Вы настраиваете кнопку imageUploadAction быть PostBackTrigger (таким образом, не async), который вызывает полную перезагрузку страницы.

Обратите внимание, что нет возможности использовать обычный загрузчик с помощью UpdatePanel. Если вам действительно нужна асинхронная загрузка файлов, вам придется реализовать довольно немного кода как на стороне клиента, так и на стороне сервера.

Посмотрите на FlowJs здесь https://github.com/flowjs/flow.js с демо здесь http://flowjs.github.io/ng-flow/

Надежда, что помогает

Смежные вопросы