
展开全部
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中我们要把它处理成我们表现层所需要的
追问
能详细解释一下代码吗?
追答
这个已经够详细了。再详细我都不知道怎么写了

2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
这个没有太明确的、一般都是和网上说的差不多。
还有自己的编码习惯了、时间长了,就明白了、
每层要是定义静态的方法直接调用就可以,要是不是,实例一下 在调用
还有自己的编码习惯了、时间长了,就明白了、
每层要是定义静态的方法直接调用就可以,要是不是,实例一下 在调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是用那个什么写的,很简单,你可以上其它网问一下,现在科学四通八达,开微博,QQ.....都得啦,总之很简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询