前言:本人由于刚接触不久,所以有许多借鉴的地方,希望大家多多指教。

对于三层架构,大家首先要理解它的机制,具体的在我的博文里面查看,在此不再阐述。还有要有一定的基础,比较重要的就是类,最好先研究下JAVA。

一、打开VS2008,新建空解决方案,具体如下:

1、文件→新建→项目

2、展开其它项目类型→Visual Studio解决方案→空白解决方案

3、起一个名字,并确定(如下图)

c 三层架构部署服务器 三层架构怎么创建_ui

4、在解决方案资源管理器里面右键点击解决方案→添加→新建项目→类库,在名称里输入Model

5、同样的方法,再新建BLL和DAL两个类库

6、在解决方案资源管理器里面右键点击解决方案→添加→新建项目(或者新建网站)→ASP.NET web 应用程序

PS: 小型站点,点“新建网站” ;大一点的,用web应用程序。

       新建网站和新建web应用程序,在编译发布之后会有不同的效果:

       新建网站在编译发布后,bin目录下,会为每个aspx页面生产一个随机命名的.dll文件,默认情况下,添加的cs文件都会放到App_Code目录管理;
       新建web应用程序编译发布会,在bin目录下,只生成当前项目的dll文件.
    建好文件目录已经建好了,如下图。

c 三层架构部署服务器 三层架构怎么创建_System_02

二、数据库的建立与连接

1.在网站里面的APP_DATA文件夹上面点右键,新建一个数据库文件Database.mdf。然后添加一个表user ,表里面一个字段 name 类型为nvarchar(50)。

2.配置web.config文件:



<connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
            providerName="System.Data.SqlClient" />

  </connectionStrings>



三、在Model里面添加user.cs文件及如下代码:



1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace Model
 7 {
 8     public class user
 9     {
10         public user(){}
11         private string _name;
12         public string name
13         {
14             set { _name = value; }
15             get { return _name; }
16         }
17     
18     }
19 }



四、在DAL里面添加对Model和system.configuration的引用,然后添加userDB.cs和如下代码:



1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Data;
 6 using System.Data.SqlClient;
 7 using Model;
 8 using System.Configuration;
 9 namespace DAL
10 {
11     public class userDB
12     {
13          public bool addUser(Model.user model)
14         {
15             string setting = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
16             SqlConnection myconn=new SqlConnection(setting);
17             myconn.Open();
18             SqlCommand cmd=new SqlCommand("insert into dbo.[user]([name]) values(@name)",myconn);
19             cmd.Parameters.AddWithValue("@name", model.name);
20             if (cmd.ExecuteNonQuery()>0)
21             {
22                 return true;
23             }
24             else
25             {
26                 return false;
27             }
28         }
29     
30     }
31 }



五、在BLL里面添加对MODEL和DAL的引用,然后新建一个userBLL.cs文件和添加如下代码:



1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using DAL;
 6 
 7 namespace BLL
 8 {
 9     public class userBLL
10     {
11         DAL.userDB db = new userDB();
12         public bool addUser(Model.user model)
13         {
14             return db.addUser(model);
15         }
16     }
17 }



 

 六、在网站里面的default.aspx里添加一个textbox控件,ID为TB_username,然后添加一个button控件双击按钮,在CS页面输入如下代码:



1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 using Model;
 8 using BLL;
 9 namespace WEB
10 {
11     public partial class _Default : System.Web.UI.Page
12     {
13         protected void Page_Load(object sender, EventArgs e)
14         {
15 
16         }
17 
18         protected void Button1_Click(object sender, EventArgs e)
19         {
20             Model.user thisUser = new user();
21             thisUser.name = TB_username.Text.ToString();
22             BLL.userBLL uB = new userBLL();
23             if (uB.addUser(thisUser))
24             {
25                 Response.Write("true");
26             }
27             else
28             {
29                 Response.Write("false");
30             }
31         }
32     }
33 }



七、 Ctrl+F5运行default.aspx,然后在文本框里输入值,点击按键,textbox里面的值被添加到数据库里面

PS:

可能遇到的错误:

c 三层架构部署服务器 三层架构怎么创建_ui_03

原因:未添加引用,上述代码已解决。