您的位置:首页 > 编程语言 > ASP

ajax 调用asp.net后台方法

2016-07-13 14:52 441 查看
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(5000);
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(500);
return "this method come from codeBind" + Name;

}
//无参数
[System.Web.Services.WebMethod]
public static string TestAjax()
{
System.Threading.Thread.Sleep(500);
return "this method come from behide";

}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: