ASPnet简单的三层架构实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6建立各层关系,对着WEB层(刚刚建立的UI层)右键--添加引用--选择BLL--确定
同样建立其它关系
1) WEB引用DAL,Model
2)BLL引用DAL,Model
3)DAL引用Model(以及解决错误时引用的System.Configuration)
4)Model无引用
7.在WEB-->App_Data建一个数据文件DabaBase.mdf里面建表:qzzm_user表内:字段Name,类型:nvarchar(50)非空
ASP.net
首先还是简单的提一下三层架构吧:
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
</connectionStrings>
13.调试执行
此时会提示“无法直接启动带有……”的信息
此时我们只要找到Post.aspx右键——在浏览器中查看即可。输入数据——提交,即可到所建的数据库中找到所输入的数据。
一个简单的三层架构例子到此完成。
namespace BLL
{
public class userbll
{
DAL.userdb db = new DAL.userdb();
public bool adduser(Model .user model)
{
return db.adduser(model);
}
}
}
12.开始写Post.aspx.cs
<asp:Button ID="btn_post" runat="server" OnClick="btn_post_Click" Text="提交" />
</div>
</form>
</body>
</html>
Post.aspx.cs先搁下等写好类库再写
9.在Model实体类中新建一个user.cs的类(如果你已经按照上面的图将类都建好了就只用看下面的代码就好了)
4、Model层(Model):Model又叫实体类,这个东西,大家可能觉得不好分层。包括我以前在内,是这样理解的:UI<-->Model<-->BLL<-->Model<-->DAL,如此则认为Model在各层之间起到了一个数据传输的桥梁作用。
三层结构与饭店场景类似:
服务员==(表现层(UI))
厨师==(业务逻辑层(BLL))
{
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确定即可。
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
namespace DAL
{
public class userdb
{
public bool adduser(Model.user model)
(如果没出现上面所说的问题当然是最好咯O(∩_∩)O~)
11.在BLL中新建userbll.cs并引用DAL,Model层
userbll.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString);//此行@
con.Open();
using (SqlCommand cmd = new SqlCommand("INSERT INTO qzzm_user(Name) VALUES(@Name)", con))
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" />
<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>
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
public string Name
{
set { _Name = value; }
get { return _Name; }
}
}
}
10.在DAL新建userdb.cs,并引用Model层(鼠标右键——添加引用——项目选择所需的引用)
userdb.cs代码如下:
using System;
using System.Collections.Generic;
{
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;
3.建立业务逻辑层(BLL)
对着解决方案右键--添加---新建项目--Visual C#--选择类库随便起个名字BLL确定
4.建立数据访问层(DAL)
对着解决方案右键--添加---新建项目--Visual C#--选择类库随便起个名字DAL确定
5.建立Model层(Model)
对着解决方案右键--添加---新建项目--Visual C#--选择类库随便起个名字Model确定
8.web层Styles文件夹下新建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">
代码如下:
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;
材料采购员==(数据访问层(DAL))
货币==(Model层(Model))
下面就介绍一下范例的步骤:
1.打开VS2010后,文件-->新建-->项目-->其他项目类型-->Visual Studio解决方案-->空白解决方案就起名为:Test
2.建立表现层(UI)
对着解决方案右键--添加---新建项目--Visual C#--web--ASP.NET Web应用程序随便起个名字web确定
user.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Moຫໍສະໝຸດ Baiduel
{
public class user
{
public user() { }
private string _Name;
同样建立其它关系
1) WEB引用DAL,Model
2)BLL引用DAL,Model
3)DAL引用Model(以及解决错误时引用的System.Configuration)
4)Model无引用
7.在WEB-->App_Data建一个数据文件DabaBase.mdf里面建表:qzzm_user表内:字段Name,类型:nvarchar(50)非空
ASP.net
首先还是简单的提一下三层架构吧:
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
</connectionStrings>
13.调试执行
此时会提示“无法直接启动带有……”的信息
此时我们只要找到Post.aspx右键——在浏览器中查看即可。输入数据——提交,即可到所建的数据库中找到所输入的数据。
一个简单的三层架构例子到此完成。
namespace BLL
{
public class userbll
{
DAL.userdb db = new DAL.userdb();
public bool adduser(Model .user model)
{
return db.adduser(model);
}
}
}
12.开始写Post.aspx.cs
<asp:Button ID="btn_post" runat="server" OnClick="btn_post_Click" Text="提交" />
</div>
</form>
</body>
</html>
Post.aspx.cs先搁下等写好类库再写
9.在Model实体类中新建一个user.cs的类(如果你已经按照上面的图将类都建好了就只用看下面的代码就好了)
4、Model层(Model):Model又叫实体类,这个东西,大家可能觉得不好分层。包括我以前在内,是这样理解的:UI<-->Model<-->BLL<-->Model<-->DAL,如此则认为Model在各层之间起到了一个数据传输的桥梁作用。
三层结构与饭店场景类似:
服务员==(表现层(UI))
厨师==(业务逻辑层(BLL))
{
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确定即可。
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
namespace DAL
{
public class userdb
{
public bool adduser(Model.user model)
(如果没出现上面所说的问题当然是最好咯O(∩_∩)O~)
11.在BLL中新建userbll.cs并引用DAL,Model层
userbll.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString);//此行@
con.Open();
using (SqlCommand cmd = new SqlCommand("INSERT INTO qzzm_user(Name) VALUES(@Name)", con))
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" />
<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>
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
public string Name
{
set { _Name = value; }
get { return _Name; }
}
}
}
10.在DAL新建userdb.cs,并引用Model层(鼠标右键——添加引用——项目选择所需的引用)
userdb.cs代码如下:
using System;
using System.Collections.Generic;
{
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;
3.建立业务逻辑层(BLL)
对着解决方案右键--添加---新建项目--Visual C#--选择类库随便起个名字BLL确定
4.建立数据访问层(DAL)
对着解决方案右键--添加---新建项目--Visual C#--选择类库随便起个名字DAL确定
5.建立Model层(Model)
对着解决方案右键--添加---新建项目--Visual C#--选择类库随便起个名字Model确定
8.web层Styles文件夹下新建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">
代码如下:
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;
材料采购员==(数据访问层(DAL))
货币==(Model层(Model))
下面就介绍一下范例的步骤:
1.打开VS2010后,文件-->新建-->项目-->其他项目类型-->Visual Studio解决方案-->空白解决方案就起名为:Test
2.建立表现层(UI)
对着解决方案右键--添加---新建项目--Visual C#--web--ASP.NET Web应用程序随便起个名字web确定
user.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Moຫໍສະໝຸດ Baiduel
{
public class user
{
public user() { }
private string _Name;