在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下。

(1)通过aspx.cs的静态方法+WebMethod进行处理

简单的介绍下WebMethod方法的用法

1.修饰符主要用public static修饰

2.方法前面加上[WebMethod]属性表明这是WebMethod方法

3.前台html页面(Client端)访问时要使用post方法,和后台.cs文件进行数据交互,否则会返回整个html页面。

4.当后台页面返回数据后,前台html页面需要用data.d接收返回的json字符串。

5.访问url:http://abc.com/abc.aspx/ajax方法

aspx.cs代码:

using System.Web.Services; 

[WebMethod]
public static string SayHello()
{
    return "Hello Ajax!";
}

前台jquery代码:

$(function() {
    $("#btn").click(function() {
        $.ajax({
            type: "post", //要用post方式
            url: "Demo.aspx/SayHello",//方法所在页面和方法名
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(data) {
                alert(data.d);//返回的数据用data.d获取内容
            },
            error: function(err) {
                alert(err);
            }
        });
    });
});
 

html代码:

<form id="form1" runat="server">
<div>
    <asp:Button ID="btn" runat="server" Text="验证用户" />
</div>
</form>

(2)通过一般处理程序ashx进行处理;

Jquery代码:

 $.ajax({
           type: "POST",
           url: "S_CBFBM.ashx",
           data: { ZBM: p_zdm },
           beforeSend: function() {
            //$("#div_load").visible = "true;
           },
           success: function(msg) {
           //$("#div_load").visible = false;
           $("#ds").html("<p>" + msg + "</p>");
           $("#CBFBM").val(msg);
                }
        });  

ashx.cs代码:

    <%@ WebHandler Language="C#" Class="AjaxHandler" %>
    using System;
    using System.Web;  

    public class AjaxHandler : IHttpHandler {
        public void ProcessRequest (HttpContext context) {
            context.Response.ContentType = "text/plain";
            if (context.Request["name"].ToString() == "admin" &&
                context.Request["pass"].ToString() == "admin")
            {
                context.Response.Write("Y");
            }
            else
            {
                context.Response.Write("N");
            }
        }  

        public bool IsReusable {
            get {
                return false;
            }
        }
    }  

(3)注意:当要返回一个泛型数组,枚举等不是字符串的时候需要对返回的内容进行JSON序列化,序列化代码如下:

  JavaScriptSerializer jsonUtil = new JavaScriptSerializer();
  string json = jsonUtil.Serialize(需要返回的对象);

(4)序列完后前台html页面接收需要用each遍历时,因为in对字符串不管用,所以要对传过来的字符串进行Json化,代码如下

    $.get(url,function(data){
                obj= $.parseJSON(data);    //Json化之后可以用each遍历
                $.each(obj, function(k,v) {
                    alert(v.id);
                });
       });  

Jquery ajax调用后台aspx后台文件方法(不是ashx)的更多相关文章

  1. JQuery Ajax调用asp.net后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: using System.Web.Scrip ...

  2. .Net中jQuery.ajax()调用asp.net后台方法 总结

    利用JQuery的$.ajax()调用.Net后台方法有多种方式, 不多说了  直接上代码 前台代码 <script type="text/javascript"> $ ...

  3. jQuery.ajax()调用asp.net后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.介意方法名不要重名 建一个WebFormAjax名aspx文件 CS <%@ Page Language=" ...

  4. jQuery.ajax()调用asp.net后台方法(非常重要)

    http://www.cnblogs.com/zxhoo/archive/2011/01/30/1947752.html 用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先 ...

  5. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  6. Jquery Ajax调用aspx页面方法

    Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...

  7. jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

    1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...

  8. ajax 调用asp.net后台方法

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

  9. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

随机推荐

  1. asp.net mvc 注册中的邮箱激活功能实现(一)

    基本流程图 注册页面就不再写出,现在将发送邮件的代码粘贴出来 public ActionResult SendEmial() { ; string validataCode = System.Guid ...

  2. Oracle EBS-SQL (SYS-5):sys_配置文件查询.sql

    select    distinct l.profile_option_name,             v.profile_option_value,             fu.user_na ...

  3. U盘常见故障及检修

    一般U盘故障分为软故障和硬故障,其中以软故障最为常见.  软故障主要是指U盘有坏块,从而导致U盘能被计算机识别,但没有盘符出现,或者有盘符出现,但当打开U盘时却提示要进行格式化,而格式化又不能成功.前 ...

  4. 单机Oracle+asm(11.2.0.3.0) Patch Set Update(11.2.0.3.7 )

    之前写过一篇关于PSU升级的案例,参考如下: http://blog.csdn.net/jyjxs/article/details/8983880 但是,感觉有些地方理解的不是很透彻明白,照猫画虎的比 ...

  5. golang仿AS3写的ByteArray

    用golang写了个仿AS3写的ByteArray,稍微有点差别,demo能成功运行,还未进行其他测试 主要参考的是golang自带库里的Buffer,结合了binary 来看看demo: packa ...

  6. 第三届蓝桥杯预赛真题_第一题_两种微生物 X 和 Y

    /* 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍). 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y. 现在已 ...

  7. poj2388---求奇数个数字的最中间的数

    #include <stdio.h> #include <stdlib.h> int cmp(const void *a,const void *b) { return (*( ...

  8. iso-开发基础知识-1-程序流程

    main-应用程序委托-视图控制器 main()---主函数 应用程序委托  ---AppDelegate     视图控制器 ---ViewController - (BOOL)applicatio ...

  9. 接着上一个版本在上一个分离access-token和ticket的版本

    上代码: 本次修改将获取token和ticket分离出来,分别封装在函数中: 每个函数最后一个参数是一个回调参数: 回调函数的参数,是这一步中需要处理的结果; 结果怎么处理,根据传递进去的函数: va ...

  10. Data visualization 课程 笔记3

    Learn how humans work to create a more effective computer interface 三种reasoning的方式  Deductive Reason ...