ASP.NET中三层结构的运用
ASP.NET中的三层结构分为表示层(UI),业务逻辑层(BLL),数据访问层(Models,DAL,IDAL,DALFactory,DB),下面我来说说我对学习三层结构的运用。
首先我给大家说说这三层都是什么意思。
1. 表示层:web项目自然是应用程序的表示层,就是访问的站点,它提供所有与用户进行交互的界面,通过业务逻辑层(BLL)项目相关方法,展示站点的功能。表示层主要的内容就是控件+事件。如果仅仅是展示,可能只需要将控件绑定数据即可,不需要编写代码;如果需要和用户交互,就要编写相关的事件代码。举个例子吧,比如说是用户“登录”按钮事件,可能需要编写代码验证用户输入内容是否合法(非空验证),然后通过调用业务逻辑的相关方法判断用户名和密码是否匹配,从而达到成功登陆的结果。
2. 业务逻辑层:BLL项目是业务逻辑层的项目,它为表示层提供所有业务的方法和数据访问,自然就是表示层与数据访问层的桥梁。当然它并不直接访问数据库,而是通过引用DALFactory项目来实现。
3. 数据访问层:DALFactory项目、IDAL项目、DAL项目都属于数据访问层的项目,其中那个DALFactory项目是数据访问的工厂;IDAL项目是提供了数据访问的接口;DAL项目实现了IDAL项目的接口,它可以根据不同的数据库环境实现不同的访问数据的方法。
4. 模型层:Models项目包含与数据库相对应的实体类,由于三层中每一层都需要使用该项目的类,也可以把它独立出来叫模型层。
说了这么多概念也许大家都不明白是什么意思,下面我通过一个简单的例子来详细讲讲。我们从模型层开始说,比如数据库的名字叫Northwind,其中有一个Region表,表中有两个字段(Id, Name)。模型层就是封装数据库表的字段的,把它做成属性,方便每一层的调用。下面就是把这个表封装成属性。
using System;
using System.Collections.Generic;
using System.Text;
namespace Models
{
[Serializable]
public class RegionInfo
{
#region//私有字段
private int regionId;
private String regionName;
&n
相关文档:
function _doPostBack(){};
if(typeof("__doPostBack")=="function")
{
_doPostBack=__doPostBack;
__doPostBack=_doPostBackNew;
}
document.attachEvent("onmousemove",_onmousemove);
var _isPosting=false;
var _divMask=null;
function _onmousemove()
{
if(_divMask)
with(_divMask.runtimeStyle)
......
public static Boolean WriteTextFile(string content, string filepath,string name)
{
FileStream fs;
StreamWriter sw;
if (!System.IO.Directory.Exists(filepath))
{
DirectoryInfo DirInfo = Directory.CreateDirectory(filepath); //创建目录
DirI ......
ASP.NET MVC 多语言解决方案()
就一个网站的多语言特性来说,我认为分为两个方面:
1、HTML界面上显示的文字需要多语言
2、HTML界面上JS输出的文字需要多语言
原来在HTML部分直接写的文字都不能直接写要输出的文字,而是要采用标记的方法来替换。JS也 ......
protected void Button6_Click(object sender, EventArgs e)
{
this.Label11.Text = HtmlEncode(this.TextBox3.Text);
}
protected static string HtmlEn ......
OCIEnvNlsCreate 失败,返回代码为 -1,但错误消息文本不可用。
2009-09-20 02:10
“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 ”
的处理方法应该相似,没具体试过。
给oracle/ora92的目录加上network service用户的权限就可以了。
方法:右击ora92,选择属性,点击“安全&rd ......