下面我们来实现页面上的单表修改功能,首先把页面框架搭好,再来实现修改功能,如下图。
点击修改
显示弹出层
输入你想修改的公告类型
点击保存
修改成功,已经显示在公告类型里面
实现修改功能代码如下,首先在控制器这边把方法写好,一步步来,1、给一个参数 sysNot ;
2、实例化 ReturnJson ,3、再判断公告类型名称不能为空 ,字符串判断是否为空的函数:IsNullOrEmpty
4、根据公告名称查询是否已经存在,5、修改数据,6、判断数据,7、在方法这边添加视图。
public ActionResult UpdateNoticeType(SYS_NoticeTypeTable sysNot)
{
ReturnJson returnJson = new ReturnJson();//实例化
//公告类型名称不能为空 , 字符串判断是否为空的函数:IsNullOrEmpty
if (!string.IsNullOrEmpty(sysNot.NoticeTypeName))
{
//查询除了自身外 公告类型名称查询是否已经存在
int oldCount = (from tbNot in myModels.SYS_NoticeTypeTable
where tbNot.NoticeTypeID != sysNot.NoticeTypeID
&& tbNot.NoticeTypeName == sysNot.NoticeTypeName.Trim()
select tbNot).Count();
if (oldCount == 0)
{
try
{
//修改公告类型 ,修改数据的一句代码
myModels.Entry(sysNot).State = System.Data.Entity.EntityState.Modified;
//真正修改保存到 myModels 里面是这句代码 myModels.SaveChanges(),如果成功,返回
的值是1,大于 0 就是保存成功了。
if (myModels.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "保存成功";
}
}
catch (Exception)
{
returnJson.State = false;
returnJson.Text = "数据异常!";
}
} else
{
returnJson.State = false;
returnJson.Text = "公告类型已经存在!";
}
} else
{
returnJson.State = false;
returnJson.Text = "请填写完整!";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
添加好视图,在视图里面写代码1、写弹出层代码,2、写修改代码,
<script>
//全局变量的声明
var layerIndex;//弹出层
//页面数据回显,修改公告类型点击事件
function updateNoticeType(noticeType){
$('#formNoticeType input[type="reset"]').click();//重置表单
$.post("/SystemManagement/IssuanceNotice/SelectNoticeTypeById",
//左边的noticeTypeId是方法那边的参数,右边noticeType是根据命名的
{ noticeTypeId: noticeType }, function (data) {
loadDatatoForm("formNoticeType", data);//根据json对象填充form表单
});
layerIndex = layer.open({ //弹出layer窗体
type: 1,//页面层
area: ["480px", "180px"],
offset: "auto",//默认坐标,即垂直水平居中
title: "修改公告类型",
content: $("#layerNoticeType")//content:( 想要显示的内容 )
});
}
//单表修改保存方法一
$("#btnSaveNoticeType").click(function () {
//序列化表单:(这里我们没办法决定参数的个数,新增:名称,修改:ID,名称)
//用序列化serializeArray();查询的好处,没有值的时候它会自动为空,有值的时候它会自动绑定上去
var formDate = $("formNoticeType").serializeArray();//序列化表单:serializeArray
$.post("/SystemManagement/IssuanceNotice/UpdateNoticeType", formDate, function (msg) {
if (msg.State == true) {
layerClose();//关闭窗体
tabNoticeType = layuiTable.reload('tabNoticeType'); //刷新table,
方法reload('想要刷新的内容')
}
layer.alert(msg.Text);
})
});
</script>