单表删除
开发工具与关键技术:VS / C#
作者:简志杰
撰写时间:2019年04月03日
下面我们来实现页面上的单表删除功能,首先把页面框架搭好,再来实现删除功能,如下图。
点击删除
弹出提示点确定
删除成功
已经删除成功,没有显示在公告类型里面了
实现删除功能代码如下,首先在控制器这边把方法写好,一步步来,1、给一个参数 NnoticeTypeId;
2、实例化 ReturnJson ,3、再查询出公告类型 ,4、Remove( 移除数据 ),5、判断是否删除成功,
6、在方法这边添加视图。
public ActionResult DeleteNoticeType(int NnoticeTypeId
{
ReturnJson returnJson = new ReturnJson();
try
{
//查询出公告类型
SYS_NoticeTypeTable aNoticeType= (from tbNoticeType inmyModels.SYS_NoticeTypeTable
where tbNoticeType.NoticeTypeID == NnoticeTypeId
selecttbNoticeType).Single();
//删除数据的一句代码,删除 ,Remove(移除)
myModels.SYS_NoticeTypeTable.Remove(aNoticeType);
//真正删除成功到 myModels 里面是这句代码 myModels.SaveChanges(),如果成功,返回的值是1,大于 0 就是保存成功了。
if(myModels.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "删除成功!";
}
else
{
returnJson.State = false;
returnJson.Text = "删除失败!";
}
}
catch (Exception)
{
returnJson.State = false;
returnJson.Text = "数据异常";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
添加好视图,在视图里面写代码1、写删除代码,
<script>
//删除 公告类型 ,deleteNoticeType( 随便命名 )
function deleteNoticeType(noticeTypeId) {
layer.confirm(" 您确定要删除该公告类型?", { icon: 3, titile: "提示" }, function (index) {
$.post("/SystemManagement/IssuanceNotice/DeleteNoticeType",
//noticeTypeId:NoticeTypeId,左边是页面接受器的参数,右边是命名的
{ NnoticeTypeId:noticeTypeId }, function (msg) {
layer.close(index);
if (msg.State == true) {
tabNoticeType = layuiTable.reload('tabNoticeType'); //刷新table
}
layer.alert(msg.Text, {icon: 1 });//提示
});
});
}
</script>
我这里只是个纯的单表删除,并不会关于到有公告类型明细不能删除,因为我没有写查询公告类型,是否有公告类型明细,也没有做出判断,所以有公告类型明细也会删除。如果想让有公告类型明细的不能删除,那就要写查询公告类型,是否有公告类型明细,也要做出判断,就要加入这两句代码。
//查询公告类型,是否有公告类型明细
int noticeTypeDetailCount = (from tbNoticeTypeDetailsin myModels.SYS_NoticeTypeDetail
wheretbNoticeTypeDetails.NoticeTypeID == NnoticeTypeId
select tbNoticeTypeDetails).Count();
if(noticeTypeDetailCount == 0) //没有
{
这里面写1、查询出公告类型,2、移除查询出公告类型数据3、做判断是否删除成功
}
else
{
returnJson.State = false;
returnJson.Text = "有明细信息,不能删除!";
}