2012-02-20 3 views
0

, как я могу использовать Ajax для вызова метода на стороне сервера я попробовал этот код, но он дает мне предупреждение messsage ошибки и я не могу найти мою проблему, пожалуйста, помогите и спасибо:с использованием Ajax в asp.net C#

enter code here 

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ImageEditor_UserControl.ascx.cs" Inherits="ImageEditor_UserControl" %> 
<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script> 
<script type ="text/javascript"> 
    $(document).ready(function() { 
    $('#<%=uploadButton.ClientID %>').click(function() { 

     $.ajax({ 
      type: "POST", 
      url: "ImageEditor_UserControl.ascx/helo", 
      data: "{}", 
      contentType: "application/json;charset=utf-8", 
      dataType: "json", 
      async: true, 
      cache: false, 
      success: function() { alert("success"); }, 
      error: function() { alert("error"); } 
     }) 
     return false; 

    }); 
    }); 
    </script> 

<asp:Button ID="uploadButton" runat="server" Text="Upload" /> 

C# Code

[WebMethod] 
    public static string helo() { 

    return "Message from server."; 
    } 
+0

Для запроса ajax ASP.NET обычно предлагает UpdatePanel. Если вы хотите загрузить изображение async, попробуйте AsyncFileUpload из AjaxToolkit: http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx – mshsayem

+0

Вы уверены, что Url, который вы вызываете, верен? Попробуйте запустить его в режиме отладки с точкой останова в методе. Посмотрите, как далеко оно доходит. – Doomsknight

+0

Попробуйте изменить функцию ошибки, чтобы сообщить о самой ошибке. См. Http://stackoverflow.com/questions/6792878/jquery-ajax-error-function, но, например, 'error: function (jqXHR, textStatus, errorThrown) {alert (textStatus); } ' – Rawling

ответ

1

Вы должны вызвать *.asmx файлы (есть и другие варианты, но это для начала).

Остерегайтесь tutorials на веб-сервисах & ajax consuming.

+0

что такое .asmx означает ?? –

+0

Файлы веб-служб. Посмотрите на некоторые уроки ... –

+0

@ Rawling, пожалуйста, отмените downvote ... –

0

Вы проверили на линии $('#<%=uploadButton.ClientID %>').click(function() {, что <%=uploadButton.ClientID %> на самом деле заменить на значение и не принято буквально?

+0

кнопка щелчка работает нормально но оно дает мне сообщение ошибки предупреждения –

-1

К сожалению, вы не можете вызвать метод страницы (метод на стороне сервера), который является частью пользовательского элемента управления. Вам нужно будет использовать метод на странице aspx.

+0

Я попробовал такой же код в моей странице aspx но все же оно дает мне сообщение ошибки –

+0

Какой url вы используете для страницы aspx? – Umair

0

Вы используете firefox? если да, установите аддон «FireBug». Включите firebug, чтобы проверить запрос и ответ.

Firebug покажет вам сообщение об ошибке, возвращенное с сервера, так как в синтаксисе jquery вы не загружаете атрибуты метода анонимного метода обратного вызова для ошибки.

error: function (req,error) { alert("error: " + req.statusText); } 

Это даст вам понять, что происходит не так.

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