最简单,最适合入门学习的三层架构例子
2008-10-07 16:46
447 查看
1.打开VS2008后,文件-->新建-->项目-->其他项目类型-->Visual Studio 解决方案-->空白解决方案 就起名为:MvcTest 吧
2.建立如图
附件: 您所在的用户组无法下载或查看附件的项目,并在WEB-->App_Data建一个数据文件 DabaBase.mdf 里面建表:qzzm_user 表内:字段Name,类型:nvarchar(50)
3.在WEB中引用BLL,Model层新建Post.aspx
[运行代码] [复制到剪贴板] [ ± ]
CODE:
<%@ 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的类
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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层
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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;
}
}
}
}
6.在BLL中新建userbll.cs并引用DAL,Model层
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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了
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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的数据链接字符串
[运行代码] [复制到剪贴板] [ ± ]
CODE:
<connectionStrings>
<add name="sqlconn" connectionString="Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
最后,说下各层的引用关系:
1) WEB引用 DAL,Model
2)BLL引用 DAL,Model
3)DAL引用Model
4)Model无引用
2.建立如图
附件: 您所在的用户组无法下载或查看附件的项目,并在WEB-->App_Data建一个数据文件 DabaBase.mdf 里面建表:qzzm_user 表内:字段Name,类型:nvarchar(50)
3.在WEB中引用BLL,Model层新建Post.aspx
[运行代码] [复制到剪贴板] [ ± ]
CODE:
<%@ 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的类
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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层
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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;
}
}
}
}
6.在BLL中新建userbll.cs并引用DAL,Model层
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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了
[运行代码] [复制到剪贴板] [ ± ]
CODE:
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的数据链接字符串
[运行代码] [复制到剪贴板] [ ± ]
CODE:
<connectionStrings>
<add name="sqlconn" connectionString="Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
最后,说下各层的引用关系:
1) WEB引用 DAL,Model
2)BLL引用 DAL,Model
3)DAL引用Model
4)Model无引用
相关文章推荐
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- Caffe 深度学习入门教程 运行caffe自带的两个简单例子
- Android中关于JNI 的学习(零)简单的例子,简单地入门
- Caffe 深度学习入门教程 运行caffe自带的两个简单例子
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
- 从一个简单的例子学习For循环(适合刚刚学习C语言的同学)
- springMVC3.2+Hibernate4+freemarker入门简单小例子,适合初学者
- schema 入门学习2 (一些简单的例子)
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
- Android中关于JNI 的学习(零)简单的例子,简单地入门
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
- Android 简单例子以及入门学习资料链接
- 最适合入门学习的三层架构例子(实现登录)
- Spring 入门(一个简单的例子)--适合初学者
- Mybatis 入门学习,简单例子
- WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- WCF 一步一步从入门到精通 建立一个简单入门的例子(适合一点不会的朋友阅读)
- 【破浪学习】asp.net简单的注册或者登陆三层架构的例子