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('你确定要删除吗?')"执行效果为点击删除按钮,提示是否要删除吗?如果确定则执行删除操作,否则不执行

  • 相关阅读:
    [iOS]Xcode+GitHub远程代码托管(GIT, SVN)
    [iOS]Xcode处理过时方法的警告
    [iOS]@synthesize和@dynamic关键字
    [iOS]图片高清度太高, 导致内存过大Crash
    [软件]Xcode查找系统framework所在路径
    [软件]在浏览器里添加MarkDown Here(插件)
    [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(四. iOS端代码实现)
    ios -Unity3D的EasyAR集成到已经有项目中。
    iOS创建安全的单例
    阿里云轻量应用服务器 配置mysql详解(转载)
  • 原文地址:https://www.cnblogs.com/JuneDream/p/14147832.html
Copyright © 2011-2022 走看看