在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.";
}
您应该调用*.asmx
文件(还有其他选项,但这只是开始)。
留意有关web服务的教程&ajax消费。
您是否在$('#<%=uploadButton.ClientID %>').click(function () {
行检查了<%=uploadButton.ClientID %>
实际上是用值代替的,而不是字面意义上的?
您使用firefox吗?如果是,请安装插件"FireBug"。启用firebug来检查请求和响应。
Firebug有时会向您显示从服务器返回的错误消息,因为在jquery语法中,您没有加载方法匿名方法回调的属性以查找错误。
error: function (req,error) { alert("error: " + req.statusText); }
这会让你知道出了什么问题。
不幸的是,您不能调用作为用户控件一部分的页面方法(服务器端方法)。您必须在aspx页面中使用一个方法。