• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Extjs和Asp.NET后台的数据交互1

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Ext.data.Connection应该说提供了最为简洁的与后台的异步调用功能

实例如下

首先是aspx页面内容(省略了head和对js文件引用的部分)

view plaincopy to clipboardprint?
<body> 
    <div ></div>              
</body>

关于Extjs的内容写在jsdataConnection.js文件中

内容如下:

view plaincopy to clipboardprint?
Ext.onReady(function() {  
 
    var form1 = new Ext.form.FormPanel({  
        width: 350,  
        frame: true,  
        renderTo: "form1",  
        labelWidth: 80,  
        title: "form1",  
        bodyStyle: "padding:5px 5px 0",  
        defaults: { width: 150, xtype: "textfield" },  
        items: [  
        {  
            fieldLabel: "ID",  
            id: "ID",  
            anchor: "90%" 
        },  
        {  
            fieldLabel: "name",  
            id: "name",  
            anchor: "90%" 
        }  
        ],  
        buttons: [  
            { text: "確定", handler: function() { doUpdate(); } }  
        ]  
 
    });  
 
    //新建连接  
    var conn = new Ext.data.Connection({  
        autoAbort: false,  
        defaultHeaders: {  
            referer: 'http://localhost:1068' 
            //此处defaultHeaders可以不设置  
        },  
        disableCaching: false,  
        extraParams: {  
            params: 'Update' 
        },  
 
        method: 'post',  
        timeout: 300,  
        url: 'Handler.ashx'//此处如不指定,则默认访问当前页面  
    });  
    /* 
    其中 
    ①autoAbort:该request是否会自动断开(默认值false)。  
    ②disableCaching:设置为true就会添加一个独一无二的cache-buster参数来获取请求(默认值为true)。  
    ③extraParams:这些属性在该Connection发起的每次请求中作为外部参数使用 
    ④timeout:连接的超时时间  
    ⑤method:请求时使用的默认的http方法。【post】【get】  
    ⑥url:请求的网页地址,关于url最好使用ashx页面文件, 
    如果用aspx的话要把所有的页面元素都清除干净,否则前台接收到的内容会有问题。 
    */ 
 
    function doUpdate() {  
        //在创建了conn之后,可以调用request()函数发送请求,处理返回的结果,如下面的代码所示。  
        conn.request({  
            success: function(response) {  
                Ext.Msg.alert('info', response.responseText);  
                //response.responseText为返回的信息  
            },  
            failure: function() {  
                Ext.Msg.alert('warn', 'failure');  
            }  
        });  
    }  
 
    //success:成功后执行的方法(参数返回response)  
    //failure:失败时执行的方法  
 
}); 
Ext.onReady(function() {

    var form1 = new Ext.form.FormPanel({
        width: 350,
        frame: true,
        renderTo: "form1",
        labelWidth: 80,
        title: "form1",
        bodyStyle: "padding:5px 5px 0",
        defaults: { width: 150, xtype: "textfield" },
        items: [
        {
            fieldLabel: "ID",
            id: "ID",
            anchor: "90%"
        },
        {
            fieldLabel: "name",
            id: "name",
            anchor: "90%"
        }
        ],
        buttons: [
            { text: "確定", handler: function() { doUpdate(); } }
        ]

    });

    //新建连接
    var conn = new Ext.data.Connection({
        autoAbort: false,
        defaultHeaders: {
            referer: 'http://localhost:1068'
            //此处defaultHeaders可以不设置
        },
        disableCaching: false,
        extraParams: {
            params: 'Update'
        },

        method: 'post',
        timeout: 300,
        url: 'Handler.ashx'//此处如不指定,则默认访问当前页面
    });
    /*
    其中
    ①autoAbort:该request是否会自动断开(默认值false)。
    ②disableCaching:设置为true就会添加一个独一无二的cache-buster参数来获取请求(默认值为true)。
    ③extraParams:这些属性在该Connection发起的每次请求中作为外部参数使用
    ④timeout:连接的超时时间
    ⑤method:请求时使用的默认的http方法。【post】【get】
    ⑥url:请求的网页地址,关于url最好使用ashx页面文件,
    如果用aspx的话要把所有的页面元素都清除干净,否则前台接收到的内容会有问题。
    */

    function doUpdate() {
        //在创建了conn之后,可以调用request()函数发送请求,处理返回的结果,如下面的代码所示。
        conn.request({
            success: function(response) {
                Ext.Msg.alert('info', response.responseText);
                //response.responseText为返回的信息
            },
            failure: function() {
                Ext.Msg.alert('warn', 'failure');
            }
        });
    }

    //success:成功后执行的方法(参数返回response)
    //failure:失败时执行的方法

});
 

其中Handler.ashx的内容如下

(新建ashx文件,我对内容没有做任何改动,除了加上一句注释之外)

view plaincopy to clipboardprint?
<%@ WebHandler Language="C#" Class="Handler" %>  
 
using System;  
using System.Web;  
 
public class Handler : IHttpHandler {  
      
    public void ProcessRequest (HttpContext context) {  
        context.Response.ContentType = "text/plain";  
          
        //返回字符串Hello World          
        context.Response.Write("Hello World");          
    }  
   
    public bool IsReusable {  
        get {  
            return false;  
        }  
    }  
 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gishero/archive/2010/01/05/5133922.aspx


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NETMVC5---通过QueryString传值发布时间:2022-07-10
下一篇:
asp.net中关于双引号和单引号的用法发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap