asp.net中的三层结构体系显示层/逻辑层/数据层

转载 2006年06月24日 17:24:00

显示层通常由.aspx/.aspx.cs文件构成,用来显示数据页面,按三层体系的分的话,页面层应该是直接调用逻辑层中的方法
逻辑层是一个中间层,用来连接页面层和数据层,它要给页面层提供接口同时也要从数据层中调用方法供页面层使用
数据层是最底层了,一般作数据方面的操作
呵,暂时这样解释这三层体系吧,小试了一吧.
页面层[default.aspx]:只有一个DataGrid控件和一个Label控件
页面的最终执行结果

default.aspx.cs文件


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using LemongTree.BL;
namespace services
{
        /// <summary>
        /// _default 的摘要说明。
        /// </summary>
        public class _default : System.Web.UI.Page
        {
                protected System.Web.UI.WebControls.Label Label1;
                protected System.Web.UI.WebControls.DataGrid DataGrid1;
       
                private void Page_Load(object sender, System.EventArgs e)
                {
                        // 在此处放置用户代码以初始化页面
                        if(!Page.IsPostBack)
                        {
                        setup("select * from favor",DataGrid1);
                        }
                }
                private void setup(string sql,DataGrid dg)
                {
                BLayer bl = new BLayer("server=lemongtree;uid=sa;pwd=sa;database=bbs");
                        bl.showDataGrid(sql,dg);
                        Label1.Text=bl.error;
                }

                #region Web 窗体设计器生成的代码
                override protected void OnInit(EventArgs e)
                {
                        //
                        // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
                        //
                        InitializeComponent();
                        base.OnInit(e);
                }
               
                /// <summary>
                /// 设计器支持所需的方法 - 不要使用代码编辑器修改
                /// 此方法的内容。
                /// </summary>
                private void InitializeComponent()
                {   
                        this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
                        this.Load += new System.EventHandler(this.Page_Load);

                }
                #endregion

                private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
                {
               
                }
        }
}

逻辑层[BL.cs]


using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using LemongTree.DB;
using System.Web.UI.WebControls;
namespace LemongTree.BL
{
        /// <summary>
        /// BL 的摘要说明。
        /// </summary>
        public class BLayer
        {
                private string strconn;
                private SqlConnection objConn;
                private DBMaster dbm;
                private string ErrMsg;
                public BLayer(string strconn)
                {
                        //
                        // TODO: 在此处添加构造函数逻辑
                        //
                        this.strconn=strconn;
                        this.objConn=new SqlConnection(strconn);
                        dbm=new DBMaster(strconn);
                }
                public string error
                {
                        get
                        {
                        return ErrMsg;
                        }
                }
                public void showDataGrid(string strsql,DataGrid dgrd)
                {
                       
                        dgrd.DataSource=dbm.dataset(strsql);
                        ErrMsg=dbm.Error;
                        dgrd.DataBind();
                }
        }
}

数据层[DB.cs]


using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Microsoft.ApplicationBlocks.Data;
namespace LemongTree.DB
{
        /// <summary>
        /// DB 的摘要说明。
        /// </summary>
        public class DBMaster
        {
                private string strconn;
                private string msg;
                private SqlConnection objConn;
                public DBMaster(string strConn)
                {
                        //
                        // TODO: 在此处添加构造函数逻辑
                        //
                        this.strconn=strConn;
                        this.objConn=new SqlConnection(strConn);
                }
                public string Error
                {
                        get
                        {
                        return msg;
                        }
                }
                public DataSet dataset(string strSql)
                {
                        DataSet dst = new DataSet();
                        try
                        {
                                dst = SqlHelper.ExecuteDataset(strconn,CommandType.Text,strSql);
                                msg="记录总数:<b>"+dst.Tables[0].Rows.Count.ToString()+"</b>";
                                return dst;
                        }
                        catch(SqlException e)
                        {
                                msg=e.Message;
                        }
                        finally
                        {
                                dst.Dispose();
                        }
                        return null;
                }
        }
}

是什么让我们的界面层和逻辑层变得复杂

为什么想写这篇blog?写这篇blog的目的在于发现存在的问题,然后想办法来解决问题。在现实工作中,最让我们头疼的事情是我们觉得我们做的事情很复杂,但是一时也说不清楚到底复杂在什么地方。就算是我们不断...
  • firefox1
  • firefox1
  • 2008年02月10日 09:48
  • 1475

三层架构:表示层——业务逻辑层——数据访问层

1.什么是三层架构    所谓的三层开发就是将系统的整个业务应用划分为表示层——业务逻辑层——数据访问层,这样有利于系统的开发、维护、部署和扩展。   分层是为了实现“高内聚、低耦合”。采用“分而治之...
  • yuan_hong_wei
  • yuan_hong_wei
  • 2015年04月06日 15:53
  • 2327

关于ASP.NET中的三层结构

在ASP.NET中,前台为HTML源代码,.aspx设计页面等文件,中间层为.cs或.vb文件编译而成的.dll文件或组件,后台为数据库服务器。在ASP.NET3层架构上,数据库层通过中间层来连接并进...
  • SmallXianNotImmortal
  • SmallXianNotImmortal
  • 2016年03月11日 11:28
  • 410

内模式、模式、外模式、物理层、逻辑层、应用层

为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式。   美国家标准协会(Am...
  • yingevil
  • yingevil
  • 2011年10月30日 16:49
  • 3182

javaEE三层架构设计

1.三层架构由:表现层(UI) 业务逻辑层(BLL) 数据访问层(DAL).常称为:servlet层,service层,dao层....
  • chanjkf
  • chanjkf
  • 2016年11月23日 16:42
  • 963

现代前端技术解析:前端三层结构与应用

前端三层结构与应用前端三个基本结构:结构层HTML、表现层CSS、行为层JavaScript。现在的Web前端应用已经不是简单的三层结构就能轻松解决,而是已经形成了编译流程化、生产环境基础优化结构运行...
  • ligang2585116
  • ligang2585116
  • 2017年07月26日 20:27
  • 3082

三层体系结构与数据库 编程

接要 本文主要介绍了基于三层体系结构的网络数据库设计,并结合面向对象,分布式数据库开发等理论。全文围绕一个典型而简单的例子,通过VB编程语言,从分析、建模、设计、编码等各个角度对三层体系与数据库进行了...
  • didoleo
  • didoleo
  • 2005年01月03日 14:47
  • 1628

三层架构:表示层-业务逻辑…

原文地址:三层架构:表示层-业务逻辑层-数据访问层作者:灰烬 三层架构和MVC是两个东西。 非要相关的话: 三层架构中"表现层"的aspx页面对应MVC中的View(继承的类不一样) 三层架构中"表现...
  • dinghaoseu
  • dinghaoseu
  • 2015年12月15日 23:19
  • 3511

三层架构之基础知识

一、概念 1、UI(表现层):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。用于接收用户输入的数据和显示处理后用户需要的数据。   2、BLL:(业务逻辑层):UI层和DAL层之...
  • u010168160
  • u010168160
  • 2014年05月31日 09:15
  • 5376

javaEE的三层结构

表示层技术: (1)html (2)javascript (3)Ajax 例子如下         页面显示技术       function test(){ aler...
  • zhongriqianqian2076
  • zhongriqianqian2076
  • 2013年10月03日 09:46
  • 827
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net中的三层结构体系显示层/逻辑层/数据层
举报原因:
原因补充:

(最多只允许输入30个字)