最适合入门学习的三层架构例子(实现登录)

新建各层——添加各层引用——编写各层.cs代码。
asp.net中如何查看表示层的引用关系?
是项目依赖选项,且只能用于非web层才能显示在右键菜单中.
 
1.打开VS2008后,文件-->新建-->项目-->其他项目类型-->Visual Studio 解决方案-->空白解决方案 就起名为:MvcTest 吧

2.建立如图
2.jpg(10.90 K)
2008-6-9 13:27:47
的项目,并在WEB-->App_Data建一个数据文件 DabaBase.mdf 里面建表:qzzm_user 表内:字段Name,类型:nvarchar(50)

3.在WEB中引用BLL,Model层新建Post.aspx

CODE:
<%@ Page Language=&amp;amp;quot;C#&amp;amp;quot; AutoEventWireup=&amp;amp;quot;true&amp;amp;quot; CodeFile=&amp;amp;quot;Post.aspx.cs&amp;amp;quot; Inherits=&amp;amp;quot;Post&amp;amp;quot; %>
<!DOCTYPE html PUBLIC &amp;amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;amp;quot; &amp;amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;amp;quot;>
<html xmlns=&amp;amp;quot;http://www.w3.org/1999/xhtml&amp;amp;quot;>
<head runat=&amp;amp;quot;server&amp;amp;quot;>
<title>无标题页</title>
</head>
<body>
<form id=&amp;amp;quot;form1&amp;amp;quot; runat=&amp;amp;quot;server&amp;amp;quot;>
<div>

<asp:TextBox ID=&amp;amp;quot;tb_name&amp;amp;quot; runat=&amp;amp;quot;server&amp;amp;quot;></asp:TextBox>

<asp:Button ID=&amp;amp;quot;btn_post&amp;amp;quot; runat=&amp;amp;quot;server&amp;amp;quot; οnclick=&amp;amp;quot;btn_post_Click&amp;amp;quot; Text=&amp;amp;quot;提交&amp;amp;quot; />

</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[&amp;amp;quot;sqlconn&amp;amp;quot;].ConnectionString);
con.Open();
using (SqlCommand cmd = new SqlCommand(&amp;amp;quot;INSERT INTO qzzm_user(Name) VALUES(@Name)&amp;amp;quot;, con))
{
cmd.Parameters.AddWithValue(&amp;amp;quot;@Name&amp;amp;quot;, 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=&amp;amp;quot;sqlconn&amp;amp;quot; connectionString=&amp;amp;quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True&amp;amp;quot; providerName=&amp;amp;quot;System.Data.SqlClient&amp;amp;quot;/>
</connectionStrings>


最后,说下各层的引用关系:
1) WEB引用 DAL,Model
2)BLL引用 DAL,Model
3)DAL引用Model
4)Model无引用

拓展说明:本小例子只是从三层思路考虑,对业务逻辑层没有写特别的代码,只用来引用DAL,大家可以根据51aspx.com中的一些三层留言本来进行学习,便可写出更好的三层代码..到此结束吧,最后附上本人的源代码方便大家浏览.(P.S源代友中有个Utility类库是用来显示信息的,可能类库命名错了 ,同时希望51aspx老大给文章加个精~)

源码下载地址: http://www.51aspx.com/CV/MVCTest

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值