+ -
当前位置:首页 → 问答吧 → JQuery给一般处理程序传值的问题

JQuery给一般处理程序传值的问题

时间:2011-07-07

来源:互联网

功能是完成修改密码
下面这段JQuery代码是要得到当前这个form1里所有的表单元素的值,action是传到一般处理程序中的一个参数,用来标明执行哪一个方法
JScript code

$.post("../Handler/han_Client.ashx", { param: $("#form1").serialize(), action: "ChangePwd" }, function(value) {
});



C# code

private void ChangePwd(HttpContext context)
        {
            int result = 0;
            BR_S_User user = context.Session["client"] as BR_S_User;
            string oldPwd = context.Request.Form["txtOldPwd"];
            if (user.UserPassword.Equals(CC.MD5_UTF32(oldPwd)))
            {
                string txtNewPwd = context.Request["txtNewPwd"];
                user.UserPassword = CC.MD5_UTF32(txtNewPwd);
                BR_S_User_Manager.Auto_ModifyObject(user);
                result = 1;
            }
            context.Response.Write(result);
        }




上面这是一般处理程序里的其中的一段
问题就在这里面
string oldPwd = context.Request.Form["txtOldPwd"];
执行过后,oldPwd 为NULL,想让它不为空的方法,我只知道一种
就是把JQuery代码写成
JScript code

$.post("../Handler/han_Client.ashx", param: $("#form1").serialize() , function(value) {
});


这样出来的是没有问题,但是action没有了,不知道要执行哪个方法了,其实也是能执行,就是判断action是否为NULL,如果为NULL则去执行一个方法,但是这样,在这个一般处理程序里只能有一个这样的判断,想再加入其它的这样的方法就不行了。。

现在就是想问问各位,没有一种方法能把所有表单元素都传过去,而且还能加上action这个参数啊。。。

HTML code

<input type="text" id="txtOldPwd" name="txtOldPwd" value="kehu1" />
<input type="text" id="txtNewPwd" name="txtNewPwd" value="a" />

作者: evasunny2008   发布时间: 2011-07-07

$.post("../Handler/han_Client.ashx", { txtOldPwd:document.getElementById("txtOldPwd").value,txtNewPwd:document.getElementById("txtNewPwd").value, action: "ChangePwd" }, function(value) {
});
你可以这样写啊

作者: aspwebchh   发布时间: 2011-07-07

{ param: $("#form1").serialize(), action: "ChangePwd" }
你这样传递就只有2个键值对了,一个param,一个是action


你直接连接action就行了


$.post("../Handler/han_Client.ashx", $("#form1").serialize()+'&action=ChangePwd' , function(value) {
});

作者: showbo   发布时间: 2011-07-07