您的位置:首页 > 运维架构 > 网站架构

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

2011-09-20 09:33 561 查看
新建各层——添加各层引用——编写各层.cs代码。
http://bbs.51aspx.com/showtopic-3620.html

asp.net中如何查看表示层的引用关系?

是项目依赖选项,且只能用于非web层才能显示在右键菜单中.



1.打开VS2008后,文件-->新建-->项目-->其他项目类型-->VisualStudio解决方案-->空白解决方案就起名为:MvcTest吧

2.建立如图





2.jpg(10.90K)

2008-6-913:27:47

的项目,并在WEB-->App_Data建一个数据文件DabaBase.mdf里面建表:qzzm_user表内:字段Name,类型:nvarchar(50)

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

CODE:
<%@PageLanguage=&amp;quot;C#&amp;quot;AutoEventWireup=&amp;quot;true&amp;quot;CodeFile=&amp;quot;Post.aspx.cs&amp;quot;Inherits=&amp;quot;Post&amp;quot;%>

<!DOCTYPEhtmlPUBLIC&amp;quot;-//W3C//DTDXHTML1.0Transitional//EN&amp;quot;&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;>

<htmlxmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;>

<headrunat=&amp;quot;server&amp;quot;>

<title>无标题页</title>

</head>

<body>

<formid=&amp;quot;form1&amp;quot;runat=&amp;quot;server&amp;quot;>

<div>

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

<asp:ButtonID=&amp;quot;btn_post&amp;quot;runat=&amp;quot;server&amp;quot;onclick=&amp;quot;btn_post_Click&amp;quot;Text=&amp;quot;提交&amp;quot;/>

</div>

</form>

</body>

</html>

Post.aspx.cs先搁下等写好类库再写

4.在Model实体类中新建一个user.cs的类

CODE:
usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceModel

{

publicclassuser

{

publicuser(){}

privatestring_Name;

publicstringName

{

set{_Name=value;}

get{return_Name;}

}

}

}

5.在DAL新建userdb.cs,并引用Model层

CODE:
usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Data.SqlClient;

usingSystem.Configuration;

namespaceDAL

{

publicclassuserdb

{

publicbooladduser(Model.usermodel)

{

SqlConnectioncon=newSqlConnection(ConfigurationManager.ConnectionStrings[&amp;quot;sqlconn&amp;quot;].ConnectionString);

con.Open();

using(SqlCommandcmd=newSqlCommand(&amp;quot;INSERTINTOqzzm_user(Name)VALUES(@Name)&amp;quot;,con))

{

cmd.Parameters.AddWithValue(&amp;quot;@Name&amp;quot;,model.Name);

if(cmd.ExecuteNonQuery()>0)

returntrue;

elsereturnfalse;

}

}

}

}

6.在BLL中新建userbll.cs并引用DAL,Model层

CODE:
usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceBLL

{

publicclassuserbll

{

DAL.userdbdb=newDAL.userdb();

publicbooladduser(Model.usermodel)

{

returndb.adduser(model);

}

}

}

7.可以开始写Post.aspx.cs了

CODE:
usingSystem;

usingSystem.Collections;

usingSystem.Configuration;

usingSystem.Data;

usingSystem.Linq;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.HtmlControls;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Xml.Linq;

publicpartialclassPost:System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

}

protectedvoidbtn_post_Click(objectsender,EventArgse)

{

Model.userus=newModel.user();

us.Name=tb_name.Text;

BLL.userbllub=newBLL.userbll();

ub.adduser(us);

}

}

8.补充之前少写的Web.config的数据链接字符串

CODE:
<connectionStrings>

<addname=&amp;quot;sqlconn&amp;quot;connectionString=&amp;quot;DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;IntegratedSecurity=True;UserInstance=True&amp;quot;providerName=&amp;quot;System.Data.SqlClient&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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: