ajax 调用asp.net后台方法

时间:2023-11-24 13:59:14

ajax 调用asp.net后台方法 

这种做法有好几种,如调用xx.asxh 页面,或者直接调用xx.aspx也面,在page_Load中进行一些判断然后调用后面的其他方法,

或者你可以直接调用webservice;

今天我简单总结一中方法,前提是:net Framework 4.0以上的版本才支持滴呀(包括4.0),也就是说:2.0 和 3.0 都不支持滴呀

前端写法:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="ClientClick有参数" onclick="TestAjaxParam()"/>
<input type="button" value="ClientClick2不带参数" onclick="TestAjax()"/>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
<script type="text/javascript" src="jq/jquery-1.9.1.js"></script>
<script type="text/javascript"> //客户端控件
//带参数的
function TestAjaxParam(){
$.ajax({
type:"POST",
url: "WebForm1.aspx/TestAjaxParam",
data:'{Name:"jack"}',
dataType:"text",
contentType:"application/json; charset=utf-8",
success:function (data){
alert(data);
}
})
} //不带参数的
function TestAjax(){
$.ajax({
type:"POST",
url: "WebForm1.aspx/TestAjax",
dataType:"text",
contentType:"application/json; charset=utf-8",
success:function (data){
alert(data);
}
})
} //服务端控件
//"Default.aspx/Test",
//"Default.aspx/TestAjax",
$("#Button1").bind("click",function (){
$.ajax({
type:"post",
url: "WebForm1.aspx/TestAjax",
contentType:"application/json; charset=utf-8",
dataType:"text",
success:function (data){
alert(data);
}
});
//禁止按钮的提交
return false;
}) </script>
</body>
</html>

后端方法

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication3
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } public static string showString()
{
System.Threading.Thread.Sleep();
return "this method come from codeBind";
} public static string Test()
{
return "Test";
}
//有参数
[System.Web.Services.WebMethod]
public static string TestAjaxParam(string Name)
{
System.Threading.Thread.Sleep();
return "this method come from codeBind" + Name; }
//无参数
[System.Web.Services.WebMethod]
public static string TestAjax()
{
System.Threading.Thread.Sleep();
return "this method come from behide"; } }
}