zoukankan      html  css  js  c++  java
  • Asp.NET笔记(五)--使用linq+三层架构实现数据的删除

    用linq实现数据删除
    一、在Model层添加linq to Sql类
      添加新建项-->linq to Sql类-->服务资源管理器添加数据连接-->将数据库中表拖拽到linq类中-->保存
    二、在DAL层实现数据的删除
    如:  

         /// <summary>
            /// 删除评论
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            public bool DeleteComments(int id)
            {
                //实例化数据上下文对象
                DataCommonDataContext db = new DataCommonDataContext();
                //通过id查询要删除的实体
                Comments comments = (from i in db.Comments
                                     where i.ID == id  //添加查询条件
                                     select i).FirstOrDefault(); //获取查询到的第一个或默认的值
                if (comments != null)//如果查询到的实体不为空
                {
                    //执行删除操作
                    db.Comments.DeleteOnSubmit(comments);
                    db.SubmitChanges();//将结果保存到数据库
                    return true;//返回成功
                }
                else
                {
                    return false;//返回失败
                }
    
            }


    三、在BLL层实现DAL层方法的调用
    如:
      

         /// <summary>
            /// 删除评论
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            public bool DeleteComments(int id)
            {
                Comments_DAL dal = new Comments_DAL();//实例化dal对象
                return dal.DeleteComments(id);//返回dal层调用的方法
            }

    四、在UI层实现对BLL方法的调用和数据的展示

    1、前台页面数据绑定控件的<ItemTemplate>标签中:
    添加LinkButton按钮,在按钮中添加CommandName、和 CommandArgument 属性
    添加属性OnClientClick ="return confirm('你确定要删除吗?')"
    如:

     <asp:LinkButton ID="LinkButton1" runat="server" CommandName="del" CommandArgument='<%#Eval("ID") %>' OnClientClick ="return confirm('你确定要删除吗?')">删除</asp:LinkButton>

    2、触发按钮的RowCommand或ItemCommand事件,在事件中执行删除
    如:

           //判断前端CommandName属性值是否是del删除
                if (e.CommandName == "del")
                {
                    //获取前端定义的CommandArgument属性值
                    int id = Convert.ToInt32(e.CommandArgument);
                    //执行删除并判断是否删除成功
                    if (bll.DeleteComments(id))
                    {
                        Response.Write("<script>alert('删除成功!')</script>");
                    }
                    else
                    {
                        Response.Write("<script>alert('删除失败!')</script>");
                    }
                }
    OnClientClick ="return confirm('你确定要删除吗?')"执行效果为点击删除按钮,提示是否要删除吗?如果确定则执行删除操作,否则不执行

  • 相关阅读:
    Java学习小记 5
    Java学习小记 4
    Java学习小记 3
    Java学习小记 2
    Java学习小记 1
    ThreadLocal详解
    jvm之java类加载机制和类加载器(ClassLoader)的详解
    什么情况下JVM内存中的一个对象会被垃圾回收?
    java线程池的拒绝策略
    logback配置文件---logback.xml详解
  • 原文地址:https://www.cnblogs.com/JuneDream/p/14147832.html
Copyright © 2011-2022 走看看