• [网络收集]ASP.NET简单的三层架构实例


    首先还是简单的提一下 三层架构吧:

      1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

      2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

      3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

    下面就介绍一下 范例的 步骤:

     

    1.打开VS2008后,文件-->新建-->项目-->其他项目类型-->Visual Studio 解决方案-->空白解决方案 就起名为:MvcTest 吧
    2.建立如图

    的项目,并在WEB-->App_Data建一个数据文件 DabaBase.mdf 里面建表:qzzm_user   表内:字段Name,类型:nvarchar(50) 非空

    3.在WEB中引用BLL,Model层新建Post.aspx
    Post.aspx 代码如下:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Post.aspx.cs" Inherits="Post" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="tb_name" runat="server"></asp:TextBox>
            <asp:Button ID="btn_post" runat="server" OnClick="btn_post_Click" Text="提交" />
        </div>
        </form>
    </body>
    </html>

    Post.aspx.cs 先搁下等写好类库再写
    4.在Model 实体类中新建一个user.cs的类 (如果你已经按照上面的图 将类都建好了 就只用看下面的代码就好了)

    user.cs代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Model
    {
        public class user
        {
            public user() { }
            private string _Name;
            public string Name
            {
                set { _Name = value; }
                get { return _Name; }
            }
        }
    }

    5.在DAL新建userdb.cs,并引用Model层   (鼠标右键——添加引用——项目 选择所需的引用)

    userdb.cs代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Configuration;

    namespace DAL
    {
        public class userdb
        {
            public bool adduser(Model.user model)
            {
                SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString);//此行@
                con.Open();
                using (SqlCommand cmd = new SqlCommand("INSERT INTO qzzm_user(Name) VALUES(@Name)", con))
                {
                    cmd.Parameters.AddWithValue("@Name", model.Name);
                    if (cmd.ExecuteNonQuery() > 0)
                        return true;
                    else return false;
                }
            }
        }
    }

    代码写好了还不行,因为到时候调试的时候可能会出现 “当前上下文中不存在名称“ConfigurationManager”   ”(注释 所在行),出现这种错误的原因是没有引用System.Configuration 这项,注意这边可不是代码中的 using System.Configuration; 哦。此时就要添加System.Configuration的引用,方法同上面的引用Model层类似,在DAL层下 右键——添加引用——.NET   然后找到对应的 System.Configuration    确定即可。

    (如果没出现上面所说的问题当然是最好咯 O(∩_∩)O~)

    6.在BLL中新建userbll.cs并引用DAL,Model层

    userbll.cs代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace BLL
    {
        public class userbll
        {
            DAL.userdb db = new DAL.userdb();
            public bool adduser(Model .user model)
            {
                return db.adduser(model);
            }
        }
    }

    7.开始写Post.aspx.cs

    代码如下:

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;

    public partial class Post : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void btn_post_Click(object sender, EventArgs e)
        {
            Model.user us = new Model.user();
            us.Name = tb_name.Text;
            BLL.userbll ub = new BLL.userbll();
            ub.adduser(us );
        }
    }

    8.在Web.config文件中添加 缺少的数据链接字符串

    找到<connectionStrings   />   这一行,将其修改如下:
    <connectionStrings>
        <add name="sqlconn" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
    </connectionStrings>

    9. 调试 执行

    此时会提示 “无法直接启动带有……”的信息

    此时我们只要找到 Post.aspx   右键——在浏览器中查看   即可 。    输入数据——提交 ,即可到所建的数据库中找到所输入的数据。

    一个简单的三层架构例子 到此完成。

    各层引用关系如下:

    1) WEB引用 DAL,Model
    2)BLL引用 DAL,Model
    3)DAL引用Model (以及解决错误时 引用的System.Configuration )
    4)Model无引用

  • 相关阅读:
    uwsgi配置详解
    一文搞定SonarQube接入C#(.NET)代码质量分析
    推荐一款 Diffy:Twitter 的开源自动化测试工具
    推荐一款简单易用线上引流测试工具:GoReplay
    kanboard安装及使用
    性能相关博客
    性能工具之JMeter5.0核心类StandardJMeterEngine源码分析
    使用sshkey连接github等服务器
    [转]关于浏览器css选择器性能优化
    [转]你不淘汰自己,就会被别人淘汰
  • 原文地址:https://www.cnblogs.com/lushuicongsheng/p/1875446.html
Copyright © 2020-2023  润新知