教程部分
菜单管理,是整个权限管理中最基本,也是最重要的部分,只有此处跟用户管理部分存在,才能继续权限管理的其它部分处理
下面就主要说下三层的处理
注: 本系统是基于论坛的分布式框架进行开发的,也可以说是分布式框架的一个使用范例哈,如果已经非常了解分布式框架的,可以跳过此教程,看其他内容
1. Model层
[C#] 纯文本查看 复制代码
/// <summary>
/// 菜单信息 实体类
/// </summary>
public class Sys_MenuInfo {
/// <summary>
/// id
/// </summary>
public int MenuID { get; set; }
/// <summary>
/// 父菜单id
/// </summary>
public int ParentID { get; set; }
/// <summary>
/// 菜单深度信息(主要用在2层以上的菜单使用)
/// </summary>
public int Depth { get; set; }
/// <summary>
/// 菜单名称
/// </summary>
public string MenuName { get; set; }
/// <summary>
/// 链接地址
/// </summary>
public string LinkUrl { get; set; }
/// <summary>
/// 排序值
/// </summary>
public int OrderID { get; set; }
}
此处内容中所有的字段与数据库中的字段完全一致(字段数量与字段的名称,大小写)
主要存在字段,菜单id,菜单名称,链接地址,深度(为几级菜单的意思),父级菜单id,排序值
[C#] 纯文本查看 复制代码
public List<Sys_MenuInfo> GetList(string fields, string query, string orderby, int pageIndex, int pageSize, out int totalCount) {
return FindPage( "Sys_Menu", fields, query, orderby, pageIndex, pageSize, out totalCount );
}
public List<Sys_MenuInfo> GetList(string fields, string query, string orderBy) {
if ( string.IsNullOrWhiteSpace( fields ) ) { fields = "*"; }
if ( string.IsNullOrWhiteSpace( query ) ) { query = "1 = 1"; }
if ( string.IsNullOrWhiteSpace( orderBy ) ) { orderBy = "MenuID"; }
string sql = string.Format( "SELECT {0} FROM dbo.Sys_Menu WHERE {1} ORDER BY {2}", fields, query, orderBy );
return FindList( sql );
}
[C#] 纯文本查看 复制代码
public Sys_MenuInfo GetInfo(string fields, string query) {
if ( string.IsNullOrWhiteSpace( fields ) ) { fields = "*"; }
if ( string.IsNullOrWhiteSpace( query ) ) { query = "1=1"; }
string sql = string.Format( "SELECT {0} FROM dbo.Sys_Menu WHERE {1}", fields, query );
return FindOne( sql );
}