2016-08-04 8 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(非同期ではない)にする必要があります。

UpdatePanelを使用して通常のアップローダを使用する方法はありません。実際に非同期のファイルアップロードが必要な場合は、クライアント側とサーバー側の両方でかなりのコードを実装する必要があります。

を助け、ここでデモ http://flowjs.github.io/ng-flow/

希望を持ってここに https://github.com/flowjs/flow.js FlowJsを見てみましょう

関連する問題