关于javascript:在asp.net中使用ajax c#

using ajax in asp.net c#

我如何使用ajax调用服务器端方法我试过这个代码,但它给了我警报错误消息,我找不到我的问题,请帮助,谢谢你:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 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;

     });
   });

C#代码

1
2
3
4
5
  [WebMethod]
   public static string helo() {

    return"Message from server.";
  }


您应该调用*.asmx文件(还有其他选项,但这是开头的)。

留意有关Web服务和ajax消费的教程。


你用firefox吗? 如果是,请安装插件"FireBug"。 启用firebug以检查请求和响应。

Firebug有时会向您显示从服务器返回的错误消息,就像您在jquery语法中一样,您没有加载方法匿名方法回调错误的属性。

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

这将让您了解出了什么问题。


你有没有在$('#<%=uploadButton.ClientID %>').click(function () {行检查过
<%=uploadButton.ClientID %>实际上是由值替换而不是字面上的?


遗憾的是,您无法调用作为用户控件一部分的页面方法(服务器端方法)。 您将不得不在aspx页面中使用方法。