2013-08-30 123 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/

相关问题