用juery的ajax方法调用aspx.cs页面中的webmethod方法示例_AJAX相关

首先在 aspx.cs文件里建一个公开的静态方法,然后加上WebMethod属性。
如:
[WebMethod]
public static string GetUserName()
{
//......
}
  如果要在这个方法里操作session,那还得将WebMethod的EnableSession 属性设为true 。即:
[WebMethod(EnableSession = true)]//或[WebMethod(true)]
public static string GetUserName()
{
//......
}
 然后我们就写ajax程序来访问这个程序,我们就用jQuery吧。

复制代码 代码如下:

$.ajax({
type: "POST",
contentType: "application/json",
url: "WebForm2.aspx/GetUserName",
data: "{}",
dataType: "json",
success: function(){.......}
});

type:请求的类型,这里必须用post 。WebMethod方法只接受post类型的请求。
contentType:发送信息至服务器时内容编码类型。我们这里一定要用 application/json 。
url:请求的服务器端处理程序的路径,格式为"文件名(含后缀)/方法名"
data:参 数列表。注意,这里的参数一定要是json格式的字符串,记住是字符串格式,如:"{aa:11,bb:22,cc:33 , ...}"。如果你写的不是字符串,那jquery会把它实序列化成字符串,那么在服务器端接受到的就不是json格式了,且不能为空,即使没有参数也要 写成"{}",如上例。
很多人不成功,原因就在这里。
dataType:服务器返回的数据类型。必须是json,其他的都无效。因为 webservice 是一json格式返回数据的,其形式为:{"d":"......."}。
success:请求成功后的回调函数。你 可以在这里对返回的数据做任意处理。
下面给个ajax请求自身页面的例子给你测试。。。
test.aspx
XML/HTML code

复制代码 代码如下:

<%@ Page language="C#"%>
<script runat="server">
protected void Page_Load(object sender,EventArgs e){
Response.Charset="gb2312";
if(Request.Form["method"]=="Test")Test();
else if(Request.Form["method"]=="Test1")Test1();
else if(Request.Form["method"]=="Test2")Test2();
Response.Write("一般请求<br/>");
}
public void Test()
{
Response.Write("执行Test方法"+DateTime.Now);
Response.End();//停止其他输出
}
public void Test1()
{
Response.Write("执行Test1方法"+DateTime.Now);
Response.End();//停止其他输出
}
public void Test2()
{
Response.Write("执行Test2方法"+DateTime.Now);
Response.End();//停止其他输出
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="content-type" content="text/html;charset=gb2312" />
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<input type="button" value="调用Test" onclick="CallMethod('Test')"/><input type="button" value="调用Test1"
onclick="CallMethod('Test1')"/><input type="button" value="调用Test2" onclick="CallMethod('Test2')"/>
<script type="text/javascript">
function CallMethod(method){
$.ajax(
{
type: "POST",
url: "test.aspx",
data:{method:method},
success:function(msg){alert(msg);},
error: function(){alert('出错了');}
}
)
}
$(document).ready(function(){
$.ajax(
{
type: "POST",
url: "test.aspx",
data:{method:"Test"},
success:function(msg){alert("$(document).ready执行方法Test返回结果\n\n\n"+msg);},
error: function(){alert('出错了');}
}
);
})
</script>
</body>
</html>

时间: 2024-10-31 18:07:56

用juery的ajax方法调用aspx.cs页面中的webmethod方法示例_AJAX相关的相关文章

用juery的ajax方法调用aspx.cs页面中的webmethod方法示例

juery的ajax调用aspx.cs页面中的webmethod方法:首先在 aspx.cs文件里建一个公开的静态方法,然后加上WebMethod属性,具体实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助   首先在 aspx.cs文件里建一个公开的静态方法,然后加上WebMethod属性. 如: [WebMethod] public static string GetUserName() { //...... } 如果要在这个方法里操作session,那还得将WebMethod的Enab

请问我在.aspx页面中定义的控件,比如&amp;amp;lt;asp:label&amp;amp;gt;等,在.aspx.cs页面中去不能引用,运行老是报错,请高手指点是怎么回事,小弟很着急!

问题描述 请问我在.aspx页面中定义的控件,比如<asp:label>等,在.aspx.cs页面中去不能引用,运行老是报错,请高手指点是怎么回事,小弟很着急! 解决方案 解决方案二:1新建一个网站(VS2005),在设计图中拖入一个Label控件放上去;2在后台.cs文件中,this.Label1.Text="test",即可运行;注:放入的控件会按次序命名为,控件后加编号,如第一个Label就是Label1;

Javscript调用iframe框架页面中函数的方法_javascript技巧

本文实例讲述了在Javscript调用iframe框架页面中函数的方法,这个调用方法其实非常的简单,有了这个方法我们就可以实现iframe之间传值或修改值了,操作起来都非常的简单.分享给大家供大家参考.具体实现方法如下: 访问iframe里面的函数: 复制代码 代码如下: document.getElementById('commentIframe').contentWindow.hasLogined(); commentIframe为iframe的id. 要在 window.onload里面执

AJAX开发技术在PHP开发中的简单应用技巧_AJAX相关

[AJAX介绍] Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法.Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax,用户可以创建接近本地桌面应用的直接.高可用.更丰富.更动态的Web用户界面. 异步JavaScript和XML(AJAX)不是什么新技术,而是使用几种现有技术--包括级联样式表(CSS).JavaScript. XHTML.XML和可扩展样式语言转换(XSLT),开发外观及操作类似桌面软件的Web应用软件. [AJAX执行原理] 一个Aja

AJAX实现web页面中级联菜单的设计_AJAX相关

看了大峡搞的级联菜单,我也班门弄斧一把,嘿嘿,花了一点时间搞了个级联菜单贴上来看看.本例中只要你选择成员分类名称就会自动显示成员名称:     首先在eclipse中建一个项目,名称你自己做主了,这里为Easyjf-menu,对应的浏览器页面代码为:  Easyjf-menu.jsp  <@page contentType="text/html;charser=UTF-8" language="java"%>  <head>    --..

ajax 动态传递jsp等页面使用id辨识传递对象_AJAX相关

ajax 动态传递页面, js 的ajax编写,使用id辨识传递对象 例如 : 现在有个需求,一个页面,分成左右两块,左侧导航菜单有个用户列表信息功能按钮,想在右侧无刷新情况下加载用户数据,列表显示. 我们定义两个jsp main.jsp userlist.jsp main.jsp 右侧有个div id='userlist' 层,负责接受通过传递过来的userlist.jsp userlist 处理列表数据 for循环 jstl foreach 标签都可以 main.jsp 点击用户列表按钮触发

使用jqgrid调用aspx.cs中的方法

问题描述 使用jqgrid调用aspx.cs中的方法 本人第一次使用jqgrid.现在使用jqgrid调用aspx.cs中的方法,发现根本没有执行后台的断点.后台方法已经声明为static而且也增加了webmethod.然后又尝试了调用ashx,可以显示成功.又试了使用jquery ajax调用后台方法生成xml,再将xml方法绑定到jqgrid这种方法也能成功.求高手指教,有什么需要注意的吗. 解决方案 web.config配置了ws允许get/post请求没有 你没有添加contenttyp

aspx调用aspx.cs问题

问题描述 函数声明:publicstringGetComBoxInfo(stringstrType,stringChildNodeType){}调用:Default.GetComBoxInfo(strType,strChildNodeType,functionGetComBoxInfo_CallBack(response){}}aspx界面调用aspx.cs函数时多传入个function函数.没见过这样的,求详细解释下. 解决方案 解决方案二:你应该先看明白了页面所访问的Default变量是什么

请教大侠:Global里重写的GetVaryByCustomString函数返回的值如何在.aspx.cs页面调用!!

问题描述 我在Global里重写的GetVaryByCustomString()函数返回的字符串如何在.aspx.cs页面调用!! 解决方案 解决方案二:顶起!!!!!!!!!!!!!!!!!!!!解决方案三:ding!!!!!!!!!!!!!!!