修改

(作者:张滋,撰写时间:2019年5月2日)

学习IT,我们是离不开增删查改的,下面我们来讲一下ASP.NET MVC中的修改,那么我们应该也能想到数据库里的修改方法:update数据源  set 要修改的数据  where 数据源的键值ID

然而ASP.NET MVC的修改方法跟数据库的修改方法是完全不一样。

 

我们ASP.NET MVC的修改主要核心方法是:

Model实体.Entry(修改表的数据).State= EntityState. Modified ;

Model实体.SaveChanges();

这两句代码就是说把你传递进来的修改表的数据的对象的状态改为修改,对象里面的ID,它就会自动匹配数据出来先,然后进行修改。我们要记得我们修改表的数据是跟你某一张表的对象的实体,必须要跟表进行对应。最后当你保存的时候,它就会把修改状态的数据给改到数据库中。

 

其实我们的修改方法跟新增方法是很类似的,只不过不一样的是修改方法需要有一个数据的回填。我们在修改学院的时候,我们要清楚地知道要修改哪一个学院,那么我们就可以用主键来代表我们要修改哪一个学院,毕竟主键是唯一的。

 

接下来我们就写一个修改的方法,我们来打开模态框,然后我们需要回填数据,我们可以通过异步请求方法post()来回填表单,因为我需要拿到一条数据,然后去查询到数据库的数据,然后我们把参数传递过去,接着我们就可以根据ID来查询出一条数据出来。

 

接下来我们在控制器写查询的代码先,我们就要根据ID来查询,把之前的数据查询回来先,我们才可以进行修改。然后我们就在控制器这里接收一下它的主键。注意我们在控制器的参数要跟我们页面的名字要保持一致。

接着我们就到修改方法那里判断从控制台传递过来的值是否为空,如果数据为空的话,那么我们让它弹出一个参数异常的提示框,那么我们就不应该打开模态框,反之我们拿到数据后,就回填数据并打开模态框,但是这个时候我们缺一个东西,就是主键。因为我们在修改的时候再把主键传递过去,因此我们需要一个主键。如下图:

这样我们就可以回填数据和弹出模态框,如下图:

最后我们在写保存按钮的方法,那么我们首先就要获取页面上input标签的数据,然而我们在获取页面数据的过程中,我们要注意看的是我们获取的是ID还是名称,如果是名称的话,我们一定要注意一层一层地获取元素。接下来,我们就判断页面上input标签的数据是否为空,然而我们要注意逻辑关系,不要写错了。接下来我们用post()异步请求方法,如果成功新增,那么就关闭模态框并刷新表格。

最后我们到控制器写UpdateAcademe方法。然后我们用一个参数来继承你修改的学院表,再用一个容器装载数据实体,然后我们判断页面传递过来的数据是否为空,如果数据为空的话,那么它就会返回一个提示框为:“数据不完整”,反之如果数据不为空,这个时候那么我们就用linq查询,不过有一个问题就是我们点修改时,然后这个时候我们什么也不改,原封不动的点保存,这时我们就判断我们修改的学院信息和其它学院信息是否一样,那么这个时候我们可以加一个条件,就是学院表里的学院ID不等于我传递过来的学院ID。判断有重复的话,则返回一个提示框为:“和其它学院信息的重复”,反之我们就执行修改的主要核心代码:

Model实体.Entry(修改表的数据).State= EntityState. Modified ;

myModel.SaveChanges();

下面我们来看完整的代码:

这样我们就完成了一个ASP.NET MVC中的修改了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值