用户信息修改(二)

        上篇已经说到HTML代码和弹出模态框的代码,但是保存(是在视图的,通过视图传送到控制器)和控制器的代码还没讲;如下便是讲这两个。

        所谓的保存便是,我们在上篇的那张修改效果图中的,把那些信息给修改,然后将其数据通过保存的代码传送到控制器中,然后控制器根据传过来的数据进行查重等等一些步骤通过后,将其修改保存到数据库中,保存成功后再将其数据返回控制器中,控制器再将其返回页面,进行显示;

保存代码(视图)

 //保存数据 新增、修改
        function saveForm() {
            var roleId = $("#roleId").val();
            var userName = $("#userName").val().trim();
            var idCard = $("#idCard").val().trim();
            var telephone = $("#telephone").val().trim();
            var address = $("#address").val().trim();
            var email = $("#email").val().trim();
            var account = $("#account").val().trim();
            var password = $("#password").val().trim();
            //var effective = $("#effective").val().trim();         
            var userId = $("#userId").val();
            if (roleId == 0) {
                layer.alert("请选择角色")
                return false;
            }
            if (userName == 0) {
                layer.alert("请填写姓名")
                return false;
            }
            if (idCard == 0) {
                layer.alert("请填写身份证号码")
                return false;
            }
            if (telephone == 0) {
                layer.alert("请填写电话号码")
                return false;
            }
            if (address == 0) {
                layer.alert("请填写居住地址")
                return false;
            }
            if (email == 0) {
                layer.alert("请填写电子邮箱")
                return false;
            }
            if (account == 0) {
                layer.alert("请填写账号")
                return false;
            }
            if (password == 0) {
                layer.alert("请选择密码")
                return false;
            }
            var url = "";
            if (bl) {
                url = "/Library/S_User/IndexRole";
            } else {
                url = "/Library/S_User/UpdateRole"
            }
            $.post(url, {
                roleId: roleId,
                userName: userName,
                idCard: idCard,
                telephone: telephone,
                address: address,
                email: email,
                account: account,
                password: password,
                userId:userId,
            }, function (msg) {
                layer.alert(msg.Text);
                if (msg.Text) {
                    $("#specialtyModal").modal("hide")
                    tabSearchRole();
                }
            })
        }

不过,在修改前还得做一些准备工作,在弹出修改模态框的时候,我们就要把需要修改的账号的原有的数据查询出来,然后进行修改,就如上篇的效果图,它便是通过数据回填,然后把原有的数据回填上,回填的代码也在上篇的代码里面;

控制器篇

1、数据回填

数据回填是根据ID查询数据然后进行回填的,代码如下:

        public ActionResult SelectS_User(int UserId)
        {
            try
            {
                var User = myModel.S_User.Where(m => m.userId == UserId).Single();
                return Json(User, JsonRequestBehavior.AllowGet);
            }
            catch (Exception e)
            {
                return Json(null, JsonRequestBehavior.AllowGet);
                throw;
            }
        }

如上便是回填的控制器代码;

2、修改,保存到数据库

通过页面传过来的数据进行与数据库比较和查询是否有重复等等一些操作后,如果没问题仅通过,代码,如下:

        public ActionResult UpdateRole(S_User modS_User)
        {
            ReturnJson msg = new ReturnJson();
            if (modS_User.roleId > 0)
            {

                if (!string.IsNullOrEmpty(modS_User.userName))
                {
                    if (IdCardHelper.CheckIdCard(modS_User.idCard))
                    {
                        if (!string.IsNullOrEmpty(modS_User.telephone))
                        {
                            if (!string.IsNullOrEmpty(modS_User.address))
                            {
                                if (!string.IsNullOrEmpty(modS_User.email))
                                {
                                    if (!string.IsNullOrEmpty(modS_User.account))
                                    {
                                        if (!string.IsNullOrEmpty(modS_User.password))
                                        {
                                            int oldS_User = myModel.S_User.Count(o => o.roleId == modS_User.roleId
                                            && o.userName == modS_User.userName || o.telephone == modS_User.telephone || o.email == modS_User.email || o.account == modS_User.account);
                                            if (oldS_User == 0)
                                            {
                                                //modS_User.foundTime = DateTime;
                                                modS_User.effective = true;
                                                //myModel.S_User.Add(modS_User);
                                                myModel.Entry(modS_User).State = System.Data.Entity.EntityState.Modified;
                                                if (myModel.SaveChanges() > 0)
                                                {
                                                    msg.state = true;
                                                    msg.Text = "修改用户成功";
                                                }
                                                else
                                                {
                                                    msg.Text = "修改用户失败";
                                                }
                                            }
                                            else
                                            {
                                                msg.Text = "姓名/联系方式/电子邮箱/账号已存在";
                                            }
                                        }
                                        else
                                        {
                                            msg.Text = "请输入密码";
                                        }
                                    }
                                    else
                                    {
                                        msg.Text = "请输入账号";
                                    }
                                }
                                else
                                {
                                    msg.Text = "请输入电子邮箱";
                                }
                            }
                            else
                            {
                                msg.Text = "请输入居住地址";
                            }
                        }
                        else
                        {
                            msg.Text = "请输入联系方式";
                        }
                    }
                    else
                    {
                        msg.Text = "请输入身份证号";
                    }
                }
                else
                {
                    msg.Text = "请输入姓名";
                }
            }
            else
            {
                msg.Text = "请选择角色";
            }
            return Json(msg, JsonRequestBehavior.AllowGet);
        }     

上面便是修改,保存的控制器的代码

今天的分享就这些,没有别的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值