2014-08-28 45 views
1

我有一個jQuery AJAX調用,發送表單對象到服務器。實際上我想發送文件對象爲這個iam使用html輸入文件和輸入提交按鈕。jquery ajax加載頁面而不是asp.net web方法

<form id="form1" runat="server" method="post" enctype="multipart/form-data"> 
<input type="file" id="myFile" name="myFile" /> 
    <input id="Button1" type="submit" value="Submit" /> 
<form> 

這是我提交單擊

$('#Button1').click(function (event) { 
    $.ajax({ 
         type: "POST", 
         url: "Test.aspx/ag", 
         data: {}, 
         processData: false, 
         contentType: false,         
         success: function (data) { 
          alert(data); 
         } 
}); 

}); 

背後的代碼如下

[System.Web.Services.WebMethod] 
    public static int ag() 
    { 
     HttpPostedFile file = HttpContext.Current.Request.Files["myFile"]; 
    } 

將WebMethod不再被雖然解僱,這將WebMethod是頁,而不是在Page_Load正在被解僱。爲什麼?我能做什麼?在服務器端,我想要獲取該文件。我正在使用框架4.0。

+0

http://stackoverflow.com/questions/9865557/page-load-is-fired-instead-of-web-method – 2014-08-28 18:40:58

+0

感謝您的答覆。但問題沒有解決 – Subin 2014-08-28 18:47:07

回答

0

發生這種情況的原因是您使用的是「提交」按鈕,意味着表單將被整體提交,您需要將其類型從提交更改爲「按鈕」。

+0

我沒有使用提交按鈕和我有同樣的問題。 – Hill 2016-08-19 23:19:58