ASP.NET 三层结构
写一个小的三层架构给新手朋友们分享一下。
一、打开VS 2005
1、文件--》新建--》项目
2、展开其它项目类型--》Visual Studio解决方案=》空白解决方案
3、起一个名字,并确定(如下图)
4、在解决方案资源管理器里面右键点击解决方案--》添加--》新建项目--》类库,在名称里输入Model
5、同样的方法,再新建BLL和DAL两个类库
6、在解决方案资源管理器里面右键点击解决方案--》添加--》新建网站,在名称里面输入网站名
现在文件目录已经建好了,如下图。
二、在网站里面的APP_DATA文件夹上面点右键,新建一个数据库文件database.mdf
添加一个表USER ,表里面一个字段 NAME 类型为nvarchar(50)
在web.config文件里添加一个连接
Code
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
三、在MODEL里面添加USER.CS文件
添加如下代码:
Code
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
public class user
{
public user(){}
private string _name;
public string name
{
set { _name = value; }
get { return _name; }
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
public class user
{
public user(){}
private string _name;
public string name
{
set { _name = value; }
get { return _name; }
}
}
}
四、在DAL里面添加对MODEL的引用,和system.configuration的引用
添加userDB.cs 代码如下
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Model;
using System.Configuration;
namespace Dal
{
public class userDB
{
public bool addUser(Model.user model)
{
string setting = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnection myconn=new SqlConnection(setting);
myconn.Open();
SqlCommand cmd=new SqlCommand("insert into dbo.[user]([name]) values(@name)",myconn);
cmd.Parameters.AddWithValue("@name", model.name);
if (cmd.ExecuteNonQuery()>0)
{
return true;
}
else
{
return false;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Model;
using System.Configuration;
namespace Dal
{
public class userDB
{
public bool addUser(Model.user model)
{
string setting = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnection myconn=new SqlConnection(setting);
myconn.Open();
SqlCommand cmd=new SqlCommand("insert into dbo.[user]([name]) values(@name)",myconn);
cmd.Parameters.AddWithValue("@name", model.name);
if (cmd.ExecuteNonQuery()>0)
{
return true;
}
else
{
return false;
}
}
}
}
五、在BLL里面添加对MODEL和DAL的引用
新建一个userBLL.cs文件,代码如下
Code
using System;
using System.Collections.Generic;
using System.Text;
using Dal;
namespace BLL
{
public class userBLL
{
Dal.userDB db=new userDB();
public bool addUser(Model.user model)
{
return db.addUser(model);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Dal;
namespace BLL
{
public class userBLL
{
Dal.userDB db=new userDB();
public bool addUser(Model.user model)
{
return db.addUser(model);
}
}
}
六、在网站里面的default.aspx里添加一个textbox控件,ID为TB_username
添加一个button控件
双击按钮,在CS页面输入如下代码
Code
protected void Button1_Click(object sender, EventArgs e)
{
Model.user thisUser=new user();
thisUser.name = TB_username.Text.ToString();
BLL.userBLL uB=new userBLL();
if (uB.addUser(thisUser))
{
Response.Write("true");
}
else
{
Response.Write("false");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Model.user thisUser=new user();
thisUser.name = TB_username.Text.ToString();
BLL.userBLL uB=new userBLL();
if (uB.addUser(thisUser))
{
Response.Write("true");
}
else
{
Response.Write("false");
}
}
预览页面,在文本框里输入值,点击按键,textbox里面的值被添加到数据库里面