在asp.net c#中使用ajax

本文关键字:ajax asp net | 更新日期: 2023-09-27 18:25:14

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

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#代码

  [WebMethod]
   public static string helo() {
    return "Message from server.";
  }

在asp.net c#中使用ajax

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

留意有关web服务的教程&ajax消费。

您是否在$('#<%=uploadButton.ClientID %>').click(function () {行检查了<%=uploadButton.ClientID %>实际上是用值代替的,而不是字面意义上的?

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

Firebug有时会向您显示从服务器返回的错误消息,因为在jquery语法中,您没有加载方法匿名方法回调的属性以查找错误。

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

这会让你知道出了什么问题。

不幸的是,您不能调用作为用户控件一部分的页面方法(服务器端方法)。您必须在aspx页面中使用一个方法。