您的位置:首页 > Web前端 > JQuery

Jquery AJax调用asp.net后台静态方法

2010-12-10 10:57 387 查看
有了Asp.net Ajax的支持,Jquery Ajax可以调用asp.net页面静态后台方法,类似调用WebService。后台方法必须为static,访问范围为protect/public:

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string test(string name)
{
return name + " " + DateTime.Now.ToString()]ScriptMethod特性是可选的,用于指定调用方法的 HTTP 谓词(GET 或 POST),以及指定输出格式(JSON或XML)。没有此特性,方法则默认只能被HTTP POST方式调用,并且输出将序列化为 JSON。

Asp.net 3.5以上可直接使用以上两个命名空间,Asp.net 2.0需安装Asp.net Ajax,或者单独引用Asp.net Ajax的System.Web.Extensions.dll。

前台调用方式为:

<input id="Button1" type="button" value="button" onclick="test();" />
<script type="text/javascript">
function test() {
$.ajax({
url: "Default.aspx/test",
type: "POST",
data: "{'name':'myname'}",
contentType: "application/json",
dataType: "json",
success: function (data) {
alert(data.d);
}
});
}
</script>


如后台方法无参数,data项可填为"{}"。Asp.net 3.5以上使用返回值,需要加上".d",如以上代码里的"data.d",Asp.net 2.0直接使用"data"就行了。原因可能是两者序列化的方法有所不同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: