修改

开发工具与关键技术:mvc

作者:黄志鹏

撰写时间:2019/5/3

在做项目的时候我们经常需要用到新增,修改,删除,查询。下面我们来说说其中的修改。

我们先来说说整体的思路是我们在渲染出表格的数据后,我们在表格的每一列里添加一个自定义按钮,我们就通过这个修改的自定义按钮来打开我们修改的模态框,与此同时我们要实现数据的回填,在修改完数据之后我们就来实现修改保存操作。

首先我们先在控制层那边写好修改的方法,具体是看接下来的代码,下面我们在这个方法里面写代码,ReturnJson
returnJson = new ReturnJson();首先我们声明returnJson来记录我们的状态。然后用try,catch来捕捉错误,在try里面检查和其他是否有冲突

int otherCount = (from
tbEmployee in myModels.PW_Employee

                              where

tbEmployee.employeeID != Employee.employeeID && (
tbEmployee.employeeName == Employee.employeeName.Trim() ||

tbEmployee.telphone== Employee.telphone.Trim()||

tbEmployee.address == Employee.address.Trim())

                              select

tbEmployee).Count();

接下来就是查询出需要修改的数据,我们是根据主键ID提取数据

if (otherCount == 0) {

PW_Employee db = (from
bbEmployee in myModels.PW_Employee where
bbEmployee.employeeID == Employee.employeeID select
bbEmployee).Single();

下面的代码是给实体赋值

db.employeeName = Employee.employeeName;

db.employeeNum = Employee.employeeNum;

db.telphone = Employee.telphone;

db.address = Employee.address;

接下来我们可以实现修改操作myModels.Entry(db).State = EntityState.Modified;

在我们修改完之后就可以做保存操作操作了。

其中我们判断它的状态,如果returnJson.State为真则修改成功,否则保存失败。

代码如下:

if (myModels.SaveChanges() > 0)

                {

                    returnJson.State = true;

                    returnJson.Text = "修改成功";

                }

                else

                {

                    returnJson.State = false;

                    returnJson.Text = "修改失败";

                }

接下来我们还要写数据回填的方法,下面是一个单表查询的方法,查询出需要回填的数据。

代码如下:

public ActionResult
hui(int employeeID)

    {

try
{

            var

lianxi = (from tbEmployee in
myModels.PW_Employee

                         where

tbEmployee.employeeID == employeeID

                         select

tbEmployee

                        ).Single();

            return

Json(lianxi, JsonRequestBehavior.AllowGet);

        }

        catch (Exception e)

        {

            Console.WriteLine(e);

            return

Json("", JsonRequestBehavior.AllowGet);

        }

    }

}

当我们在控制层那边写完数据回填的方法和修改保存的方法后,我们就可以在视图那边写提交的方法了。接下来我们就是要打开修改的模态框并实现数据的回填了。首先我们要重置表单

$(’#formEmployee1 input[type=“reset”]’).click();然后是打开模态框

$("#modalEmployee1").modal(‘show’);再然后是实现数据的回填,在这里我们用post方法提交到控制层那边 $.post("/Main/hui",

          { employeeID: EemployeeID }, function (data) {

              loadDatatoForm("formEmployee1", data); 

          }, "json");

在这里我们是根据json对象填充form表单

下面是打开修改的模态框并实现数据的回填代码:

    function

openUpdate(EemployeeID) {

        $('#formEmployee1

input[type=“reset”]’).click();

        $("#modalEmployee1").modal('show');

        $.post("/Main/hui",

          {

employeeID: EemployeeID }, function (data) {

loadDatatoForm(“formEmployee1”, data);

          }, "json");            

    }

完成这一步后我们就可以提交修改的方法了,首先我们要获取input输入数据的值,再然后判断输入的值是否为空和找不到,如果不是的话我们就可以用异步提交把数据提交到控制层那边了,提交完了之后我们要关闭模态框并且刷新表格。

具体代码如下:

function bao1() {

        var employeeID = $('#formEmployee1 input[name="employeeID"]').val();

        var employeeNum = $('#formEmployee1

input[name=“employeeNum”]’).val();

        var employeeName = $('#formEmployee1

input[name=“employeeName”]’).val();

        var telphone = $('#formEmployee1 input[name="telphone"]').val();

        var address = $('#formEmployee1 input[name="address"]').val()

        if (employeeNum != '' && employeeNum != undefined

          && employeeName != '' &&

employeeName != undefined

         && telphone != '' && telphone

!= undefined

            && address != '' && address

!= undefined

            ) {

            $.post("/Main/UpdateAcademe",

                {

             employeeName: employeeName,

employeeNum: employeeNum, telphone: telphone, address: address,
employeeID:employeeID

                },

                function (returnJson) {

                    if (returnJson.State

== true) { $("#modalEmployee1").modal(‘hide’);

                        employee =

layuiTable.reload(‘employee’);

                    }

layer.alert(returnJson.Text);

                }, "json");

        }

        else {

            layer.alert('请填写完整', { title: '提示', icon: 0 });

        }

    }

下面是所有的样式截图:

在这里插入图片描述

具体情况就是这样了,(文中所有代码来自本人的项目练习)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值