先声明几个变量来接收表格的内容,你需要修改的表里面有多少个字段,你就得声明多少个变量来接收它们,表的主键ID也是要获取的,然后就是判断它们获取的值是否为空,如果不为空就执行下一步,下一步就是提交表单(大多数时候还是要先打开加载层,再提交操作的,但这步也不是一定要的),也就是将内容传进控制器,看添加的数据是否符合自己的判断要求,或者是否符合数据库字段的命名规格,进行判断后,不管成功或者失败都会返回一个值到视图这边来,然后视图方面也会有一个值来接收返回的值。
我们提交表单的方法是有两种的:
第一种方法是
.
p
o
s
t
直
接
放
路
径
,
也
就
是
直
接
通
过
f
o
r
m
提
交
,
提
交
后
调
转
页
面
到
控
制
器
,
传
的
时
候
要
用
到
开
始
声
明
的
几
个
参
数
来
传
参
的
。
第
二
种
方
法
是
.post直接放路径,也就是直接通过form提交,提交后调转页面到控制器,传的时候要用到开始声明的几个参数来传参的。 第二种方法是
.post直接放路径,也就是直接通过form提交,提交后调转页面到控制器,传的时候要用到开始声明的几个参数来传参的。第二种方法是(“#??”),里面放的是from的ID,而在from标签里面放置一个传入控制器的路径,这时候我们得用到一个插件方法来提交,ajaxSubmit()提交表单:一般我们直接通过form提交的话,提交后当前页面跳转到form的action所指向的页面,然而,很多时候我们并不希望提交表单后页面跳转,那么,我们就可以使用ajaxSu bmit(obj)来提交数据,ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先引入这个插件。最后就是控制器穿过来的回复。
在修改和新增这两个功能都有各自的遮罩层的时候,我们可以直接将新增保存和修改保存的方法直接放到各种的保存按钮那就就行,但有些时候新增和修改的保存按钮是同一个,我们就不能直接把方法放进去了,这样就会冲突了,。我们可以将按钮ID,提出来放入各自的打开按钮的方法里面,并在那里面放入保存的路径。如:
$("#Delete1").click(function () {
$("#Delete3 ").attr(“onclick”, “Deletexs()”);
}
Delete1是打开修改的ID,Delete3是保存新增和修改的共用按钮,Deletexs()是修改的保存方法
控制器的代码介绍:
public ActionResult delSize(SYS_Size sysSize)
{ ReturnJsonVo returnJson = new ReturnJsonVo();
returnJson.State = false;
try
{ if (!string.IsNullOrEmpty(sysSize.SerialNumber) &&
(!string.IsNullOrEmpty(sysSize.SizeName)) &&
(!string.IsNullOrEmpty(sysSize.SizeNumber)))
{ int oldSize = (from tbSize in myModel.SYS_Size
where tbSize.SerialNumber == sysSize.SerialNumber ||
tbSize.SizeName == sysSize.SizeName ||
tbSize.SizeNumber == sysSize.SizeNumber
select tbSize).Count();
if (oldSize == 0)
{ myModel.Entry(sysSize).State = EntityState.Modified;
if (myModel.SaveChanges()> 0)
{ returnJson.State = true;
returnJson.Text = “修改成功”;
}
else
{ returnJson.State = false;
returnJson.Text = “修改失败”;
}
开始初始化ReturnJsonVo 记录着状态的一个Vo,用于返回值。 然后判断传过来的数据是否为空 ,再将这些数据与数据库来进行对比判断,看是否冲突。
myModel.Entry(sysAcademe).State = EntityState.Modified; 这是修改最核心的代码,也是必须要写的部分,就是修改数据库数据,其它都是一些判断。
单表数据修改
最新推荐文章于 2022-09-05 14:41:56 发布