2014-08-28 2 views
1

У меня есть вызов jQuery AJAX, который отправляет объект формы на сервер. Обычно я хочу отправить файл-объект для этого iam с помощью входного файла html и кнопки ввода ввода.jquery ajax загружает страницу вместо asp.net web method

<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 больше не увольняют, хотя, вместо этого Page_Load страницы которой WebMethod является на увольнении. Зачем? Что я могу сделать? На стороне сервера я хочу получить файл. Я использую фреймворк 4.0.

+0

http://stackoverflow.com/questions/9865557/page-load-is-fired-instead-of-web-method –

+0

Спасибо за ответ. Но проблема не решена – Subin

ответ

0

Это происходит из-за того, что вы используете кнопку «Отправить», что означает, что форма будет отправлена ​​целиком, вам нужно изменить ее тип от «Отправить» на «кнопку».

+0

Я не использую кнопку отправки и у меня такая же проблема. – Hill

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