单表删除

                               单表删除

开发工具与关键技术: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 = "有明细信息,不能删除!";
            }

猜你喜欢

转载自blog.csdn.net/weixin_44565319/article/details/89076120