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