通过枚举绘制导航
2017-08-13 16:45:45 访问(1604) 赞(0) 踩(0)
输出效果:
表信息 | 字段
逻辑代码
/// <summary>
/// 通过枚举绘制导航
/// </summary>
/// <param name="em"></param>
/// <param name="pParams"></param>
/// <returns></returns>
public string DrawTableNav
(
SlowX.CoreDevManage.Enums.TableNav.EmTableNav emCur,
string pParams
)
{
StringBuilder theResult = new StringBuilder();
string cssClass = null;
bool isFirst = true;
SlowX.CoreDevManage.Enums.TableNav.EmTableNav[]
emA
=
SlowX.CoreDevManage.Enums.TableNav.EmArray;
string url = null;
string pageDirName = null;
string hrefHtml = null;
foreach (SlowX.CoreDevManage.Enums.TableNav.EmTableNav
em in emA)
{
if (em == emCur)
{
cssClass = "DefaultRedHref";
}
else
{
cssClass = "DefaultGrayHref";
}
pageDirName = SlowX.CoreDevManage.Enums.TableNav.GetPageDirName(em);
url = "../" + pageDirName + "/default.aspx?" + pParams;
if (isFirst)
isFirst = false;
else
theResult.AppendLine(" | ");
hrefHtml = AHrefGet(url, em.ToString(), em.ToString(), cssClass, false);
theResult.Append(hrefHtml);
}
return theResult.ToString();
}
枚举定义
/*
表信息
字段
// 枚举拼串用于复制粘贴 //
表信息/字段
*/
using System;
namespace SlowX.CoreDevManage.Enums
{
/// <summary>
/// 表格信息导航
/// </summary>
/// 说明:
/// 1、由代码生成工具SlowX.CreateEnumApp刷新生成
/// 2、本cs文件后续如有升级需要,可以手动修改
/// 3、主要修改的内容:
/// (1)、EmTableNav的枚举项
/// (2)、EmArrayBuild的枚举数组项
[Serializable]
public partial class TableNav
{
/// <summary>
/// 表格信息导航
/// </summary>
public TableNav()
{
// 表信息/字段
}
#region Enum - EmTableNav
/// <summary>
/// 表格信息导航 -- 表信息/字段
/// </summary>
public enum EmTableNav
{
/// <summary>
/// 表信息
/// </summary>
表信息,
/// <summary>
/// 字段
/// </summary>
字段
}
#endregion Enum - EmTableNav
#region 数组 - EmTableNav[]
/// <summary>
/// 数组 - EmTableNav[]
/// </summary>
protected static EmTableNav[] m_EmArray = null;
/// <summary>
/// 数组 - EmTableNav[]
/// </summary>
public static EmTableNav[] EmArray
{
get
{
if(m_EmArray == null)
{
m_EmArray = EmArrayBuild();
}
return m_EmArray;
}
}
/// <summary>
/// 构建枚举EmTableNav -- 表信息/字段的数组
/// </summary>
/// <returns></returns>
public static EmTableNav[] EmArrayBuild()
{
return new EmTableNav[]
{
EmTableNav.表信息,
EmTableNav.字段
};
}
#endregion 数组 - EmTableNav[]
#region 代码标签
/// <summary>
/// <para>代码标签</para>
/// <para>枚举逻辑升级后,可以通过代码标签定位到枚举使用的地方</para>
/// <para>方法举例:</para>
/// <para>第一步:代码中,在枚举使用的地方加上一行代码 (枚举类).CodeSign()</para>
/// <para>第二步:CodeSign改成CodeSign1,然后编译程序,程序报错的地方就是枚举引用的地方</para>
/// </summary>
/// <param name="codeSignRemark">标签说明,如没必要,可填null或string.Empty</param>
public static void CodeSign(string codeSignRemark)
{
}
#endregion 代码标签
}
}
枚举扩展
using System;
using System.Reflection;
namespace SlowX.CoreDevManage.Enums
{
public partial class TableNav
{
/// <summary>
///
/// </summary>
/// <param name="em"></param>
/// <returns></returns>
public static string GetPageDirName(EmTableNav em)
{
switch (em)
{
case EmTableNav.表信息:
return "ViewTableDetail";
case EmTableNav.字段:
return "ViewTableColumn";
default:
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "枚举("
+ em.GetType().FullName
+ "."
+ em.ToString()
+ ")未知,对应的代码尚未实现。"
);
}
}
}
}
上一条:
下一条:
相关评论
发表评论