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

jQuery调用Asp.net Ajax页面中的方法

2008-11-18 15:48 555 查看
原来用jQuery的ajax方式调用asp.net页面基本都是调用单个页面,由调用页面Response内容,而现在采用asp.net ajax后,我们则可以更完美的使用jQuery和asp.net结合了,代码如下:
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Scripts>
<asp:ScriptReference Path="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" ScriptMode="Release" />
</Scripts>
</asp:ScriptManager>
<div id="Result">Click here.</div>
<script language="javascript">
$(document).ready(() {

$("#Result").click(() {
$.ajax({
type: "POST",
url: "WebForm1.aspx/GetDate",
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: (msg) {
// 替换返回内容
$("#Result").text(msg);
},
error: (xhr,msg,e) { alert(msg);}
});
});
});
</script>
WebForm1.aspx(页面GetDate方法必须使用静态方法并且使用[System.Web.Services.WebMethod]属性,如调用[b]webservice[/b]中的方法不需要静态)
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
[System.Web.Services.WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}
}
注:带参数时
1、设置$.ajax中的data,如:data: “{'fname':'Freeze', 'lname':'Soul'}”,注意外围双引号
2、设置$.ajax中的beforeSend,如:
beforeSend: function(xhr) {
        xhr.setRequestHeader("Content-type",
                         "application/json; charset=utf-8");},
3、然后修改GetDate()方法为GetDate(String frname,String lname)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息