asp.net 三层 的bll和dal层
asp.net三层架构中的bll层和层是怎么互利用dal的,感觉bll层只是起到了一个调用dal传递数据的作用。特别是asp.net代码生成器生成的三层,更是不能使我深刻...
asp.net 三层架构 中的bll层和层是怎么互利用dal的,感觉bll层只是起到了一个调用dal传递数据的作用。
特别是asp.net代码生成器生成的三层,更是不能使我深刻理解dll,和dal的意义,望前辈们指教
对于多表查询和应用逻辑强的网站怎么写bll和dal
----------最好给个实例,谢谢!!!!! 展开
特别是asp.net代码生成器生成的三层,更是不能使我深刻理解dll,和dal的意义,望前辈们指教
对于多表查询和应用逻辑强的网站怎么写bll和dal
----------最好给个实例,谢谢!!!!! 展开
2个回答
2013-11-21
展开全部
bll是业务逻辑层。并不只是调用dal传递数据的作用。你可以这样理解。dal它只是取数据。然后你前台要的数据并不是你从dal层取到数据。还需要一些处理才是表现层所需要的数据。这个处理的过程就是由bll来处理的。你可能会可以放在表现层处理。是的,是可以的。但是那就不能体现三层架构的意义了。
dal:
/// <summary>
/// 获取下级栏目列表
/// </summary>
/// <param name="id">栏目ID</param>
/// <returns>Column对象</returns>
public static DataTable GetChildList(int id)
{
return DBHelper.GetData(string.Format("select * from [column] where parentid = {0} order by sort" , id));
}
BLL:
/// <summary>
/// 递归遍历父节点所有子节点
/// </summary>
public static IList<Column> GetList(IList<Column> list, int pid, int n)
{
DataTable dt = ColumnAgent.GetChildList(pid);
if (dt == null) return null;
if (dt.Rows.Count == 0)
{
return null;
}
else
{
foreach (DataRow dr in dt.Rows)
{
Column column = new Column();
column.ID = int.Parse(dr["ID"].ToString());
if (pid == 0)
{
column.ChName = dr["ChName"].ToString() + "(" + dr["EnName"].ToString() + ")"; ;
}
else
{
column.ChName = "├".PadLeft(n, ' ') + dr["ChName"].ToString() + "(" + dr["EnName"].ToString() + ")";
}
column.ChPic = dr["ChPic"].ToString();
column.EnName = dr["EnName"].ToString();
column.ChLink = dr["ChLink"].ToString();
column.EnLink = dr["EnLink"].ToString();
column.ParentID = int.Parse(dr["ParentID"].ToString());
column.Navigate = int.Parse(dr["Navigate"].ToString());
list.Add(column);
n = n + 1;
GetList(list, column.ID, n);
n = n - 1;
}
return list;
}
}
在dal中我们只是获取数据,不用处理它
到bll中我们要把它处理成我们表现层所需要的
dal:
/// <summary>
/// 获取下级栏目列表
/// </summary>
/// <param name="id">栏目ID</param>
/// <returns>Column对象</returns>
public static DataTable GetChildList(int id)
{
return DBHelper.GetData(string.Format("select * from [column] where parentid = {0} order by sort" , id));
}
BLL:
/// <summary>
/// 递归遍历父节点所有子节点
/// </summary>
public static IList<Column> GetList(IList<Column> list, int pid, int n)
{
DataTable dt = ColumnAgent.GetChildList(pid);
if (dt == null) return null;
if (dt.Rows.Count == 0)
{
return null;
}
else
{
foreach (DataRow dr in dt.Rows)
{
Column column = new Column();
column.ID = int.Parse(dr["ID"].ToString());
if (pid == 0)
{
column.ChName = dr["ChName"].ToString() + "(" + dr["EnName"].ToString() + ")"; ;
}
else
{
column.ChName = "├".PadLeft(n, ' ') + dr["ChName"].ToString() + "(" + dr["EnName"].ToString() + ")";
}
column.ChPic = dr["ChPic"].ToString();
column.EnName = dr["EnName"].ToString();
column.ChLink = dr["ChLink"].ToString();
column.EnLink = dr["EnLink"].ToString();
column.ParentID = int.Parse(dr["ParentID"].ToString());
column.Navigate = int.Parse(dr["Navigate"].ToString());
list.Add(column);
n = n + 1;
GetList(list, column.ID, n);
n = n - 1;
}
return list;
}
}
在dal中我们只是获取数据,不用处理它
到bll中我们要把它处理成我们表现层所需要的
2013-11-21
展开全部
有空间有个简单的三层
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询