Asp.net AJAX调用后台静态方法总结
从客户端调用后台静态方法
1.Ajax Library方式
C#代码:
12345[WebMethod]
public
static
DateTime GetCurrentTime(
string
str)
{
return
DateTime.Now;
}
JS代码:
123456789101112131415<
form
id="form1" runat="server">
<
script
language=javascript type="text/javascript">
function GetCurrentTime1() {
PageMethods.GetCurrentTime('NewEgg ajax training', CheckIsSuccess);
}
function CheckIsSuccess(result) {
alert(result);
}
</
script
>
<
div
>
<
asp:ScriptManager
ID="ScriptManager1" runat="server" EnablePageMethods="true">
</
asp:ScriptManager
>
<
input
id="Button1" type="button" value="客户端控件调用服务器端的方法" onclick="GetCurrentTime1()" />
</
div
>
</
form
>
说明:
C#方法必须加 "[WebMethod]"
前台页面必须使用引用 服务器控件
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>调用方法: PageMethods.后台方法名(参数[,参数....], 成功后调用的方法名);
Ajax Library
2. jQuery方式
C#代码:
12345[WebMethod]
public
static
string
ABC(
string
ABC)
{
return
ABC;
}
JS代码:
12345678910111213$().ready(
function
() {
$(
"#AjaxDemo"
).click(
function
() {
$.ajax({
type:
"POST"
,
url:
"Default.aspx/ABC"
,
data:
"{'ABC':'test'}"
,
contentType:
"application/json; charset=utf-8"
,
success:
function
(msg) {alert(msg); }
})
})
}
)
说明: 必须引用jQuery库文件.
3. 还有一种好像是要引用AJAX.dll文件的. 在后台注册前台方法. 这个好像在.net2.0的时候用的比较多. 具体没仔细研究.
还望有其他更简单方法的同学互相交流下~