+ -
当前位置:首页 → 问答吧 → ext+ajax+asp.net登录

ext+ajax+asp.net登录

时间:2010-10-25

来源:互联网

登录功能,但是在调用ajax的时候,后台获取不到用户名和密码的值,无法做判断。新手,希望大家多多讲解:

js代码:
JScript code

Ext.onReady(function() {
    Ext.BLANK_IMAGE_URL = 'ExtJs/resources/images/default/s.gif'; //替换默认的空白图片
    Ext.QuickTips.init();  // 初始化鼠标停留时的显示框,这里用不上
    Ext.form.Field.prototype.msgTarget = 'side';
    // 点击登录时触发的事件
    onClickLogin = function() {
        var loginUrl = 'UserLogin.aspx'; // 登录请求的url
        // 这里Login的Panel分为两部分,logoPanel和formPanel
        // 创建logoPanel对象
        var logoPanel = new Ext.Panel( {
            baseCls : 'x-plain',
            html : '填写登录信息'
        });
        // 创建formPanel对象
        var formPanel = new Ext.form.FormPanel( {
            bodyStyle : 'padding:35px 25px 0',
            baseCls : 'x-plain',
            defaults : {
                width : 200
            },
            defaultType : 'textfield',
            frame : false,
            id : 'login-form',
            // form面板上的组件
            items : [ {
                fieldLabel : '用户名',
                name : 'name',
                blankText:'用户名必须输入',
                allowBlank:false
            }, {
                fieldLabel : '密  码',
                inputType : 'password',
                name : 'password',
                blankText:'密码必须输入',
                allowBlank:false
            }],
            labelWidth : 120,
            region : 'center',
            url : loginUrl
        });
        // 创建window对象,用来装置以上两个面板,使login显示在一个window上
        var win = new Ext.Window( {
            modal: true,
            // window上的按钮,按钮时独立的,也可以设置在formPanel里
            buttons : [ {
                 handler : LoginAjax,
                scope : onClickLogin,
                text : '登录'
            }, {
                handler : function() { // 按钮cancel触发的事件
                    win.close();
                },
                scope : onClickLogin,
                text : '取消'
            }],
            buttonAlign : 'right',
            closable : true,
            draggable : true,
            height : 200,
            id : 'login-win',
            layout : 'border',
            plain : true,
            // window上的组件
            items : [logoPanel, formPanel],
            title : '用户登录',
            width : 400
        });
        // 取得表单,参考login按钮触发的事件
        form = formPanel.getForm();

        // 显示window
     
        win.show();

        // return里的为onClickLogin的共有函数
        return {
            Success : function(f, a) {
                if (a && a.result) { //a表示action,a.result表示action返回的结果数据
                    
                    win.destroy(true);
                    // setCookie
                    // set window.location
                }
            },
            Fail : function(f, a) {
                Ext.Msg.alert('登录失败');
            }
        };
    };
    // 设置login事件
    Ext.get('btnLoad').on('click', onClickLogin);
});

function LoginAjax(){
    var requestConfig={
        url:'UserLogin.aspx',
        method:'POST',
        params: {    
         LoginName:Ext.get('name').dom.value,    
         LoginPassword:Ext.get('password').dom.value    
        },    
        callback:function (options,success,response){
            var msg=["请求是否成功:",success ,"\n",
                     "服务器返回值:",response.responseText];
            alert(msg.join(''));
        }
    }
    Ext.Ajax.request(requestConfig);

}


asp.net 后台:
C# code

public partial class UserLogin : System.Web.UI.Page
{
    private string _UserName;
    private string _PassWord;   
    protected void Page_Load(object sender, EventArgs e)
    {
        _UserName = Request.QueryString["LoginName"];//取不到值
        _PassWord = Request.QueryString["LoginPassword"];同上
        _PassWord = Request.Form["login-win"];
        Response.Write("{success:true}");
        Response.End();
       
    }

作者: yangxie5201314   发布时间: 2010-10-25

LoginAjax()函数中先打印一下,要传递的两个参数的值。看是否真的获取到值了。
如:
alert(Ext.get('name').dom.value)
alert(Ext.get('password').dom.value)
如果没有获取到值的话,我觉得,问题出在没有为用户名和密码配置id。
items : [ {
  fieldLabel : '用户名',
  name : 'name',
id: 'name',
  blankText:'用户名必须输入',
  allowBlank:false
  }, {
  fieldLabel : '密 码',
  inputType : 'password',
  name : 'password',
id: 'password',
  blankText:'密码必须输入',
  allowBlank:false
  }],

作者: Achilles_Dynasty   发布时间: 2010-10-25

http://www.cnblogs.com/mogen_yin/archive/2008/10/09/1307254.html

你参考下吧

作者: sy_binbin   发布时间: 2010-10-25

引用 2 楼 sy_binbin 的回复:

http://www.cnblogs.com/mogen_yin/archive/2008/10/09/1307254.html

你参考下吧

FuckChinaGov!!!,为什么我找了几天也没找到呢,你从哪儿搞的!!!老实交代

作者: yangxie5201314   发布时间: 2010-10-25

呵呵!很早就在我的收藏里了!你可以看看这个人的教程!!很实用的!

作者: sy_binbin   发布时间: 2010-10-25

热门下载

更多