通过枚举绘制导航

2017-08-13 16:45:45  访问(1605) 赞(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("&nbsp;|&nbsp;");

                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()
                            + ")未知,对应的代码尚未实现。"
                        );

            }
        }
    }
}



上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)