2013-08-30 77 views
1

我是新的uploadify。我用它在我的customer.aspx頁面中。我的代碼如下所示。在asp.net中使用uploadify調用服務器端方法

當我選擇多個文件時,它調用名爲Handler.ashx的處理程序並執行ProcessRequest方法。

我也想實現這些場景

  1. 如何調用我的服務器端方法「insertDB」,這是在我的 customer.aspx頁面定義,從我的處理程序中。

  2. 如何在處理程序中在我的 customer.aspx頁面中定義的服務器端方法「errorDB」中傳遞錯誤。

  3. 完成所有處理後,將處理程序應該刷新我customer.aspx頁

    $(文件)。就緒(函數(){

    $("#<%=file_upload.ClientID %>").uploadify({ 
         'swf': 'uploadify.swf', 
         'uploader': 'Handler.ashx', 
         'cancelImg': 'cancel.png', 
         'buttonText': 'Select Files', 
         'fileDesc': 'Image Files', 
         'fileExt': '*.jpg;*.jpeg;*.gif;*.png', 
         'multi': true, 
         'auto': true 
        }); 
    }) 
    </script> 
    
+0

聽起來像是你試圖使用方法掩埋在其他頁面內。你應該做的是將實際工作中的有用代碼重構成類,並在你的ASPX頁面和你的ASHX處理器中使用這些類。 –

回答

0

必要適當地設計自己的應用取決於業務流程, 使用類別...

如:

我的DB類:

public class DB { 
     public DB() { 
      //constructor 
     } 
     public void InsertDB() { 
     // your code 
     } 
     ... 
    } 

在customer.aspx:

public void Page_Load() 
{ 
    DB db = new DB(); 
    db.RefreshDB(); 
} 

public void SomeProc() 
{ 
    DB db = new DB(); 
    db.InsertDB(); 
} 

在處理程序:

public class Upload : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 
     ..... 
     DB db = new DB(); 
     db.InsertDB(); 
     .... 
    } 
} 


<script> 
$(document).ready(function() { 
    $("#<%=file_upload.ClientID %>").uploadify({ 
     'swf': 'uploadify.swf', 
     'uploader': 'Handler.ashx', 
     'cancelImg': 'cancel.png', 
     'buttonText': 'Select Files', 
     'fileDesc': 'Image Files', 
     'fileExt': '*.jpg;*.jpeg;*.gif;*.png', 
     'multi': true, 
     'auto': true, 
     'onuploadcomplete': function() { 
      window.location = href; // your href to customer.aspx 
     } 
    }); 
}) 
</script> 

關於uploadify事件: http://www.uploadify.com/documentation/uploadify/onuploadcomplete/

相關問題