通过枚举绑定RadioButtonList

2017-01-31 10:57:31  访问(2185) 赞(0) 踩(0)

  • aspx的RadioButtonList的写法

    <asp:RadioButtonList runat="server" ID="rbl_EmPLTypeV" RepeatDirection="Horizontal"
                        RepeatLayout="Table">
                    </asp:RadioButtonList>
    


    通过枚举绑定RadioButtonList

    
        /// <summary>
        /// 通过枚举绑定RadioButtonList
        /// </summary>
        /// <param name="xdbHelper"></param>
        protected void DataBindTheControls(DBHelper xdbHelper)
        {
            SlowX.WebLib.Enums.PLType.EmPLType[] emA
                =
                SlowX.WebLib.Enums.PLType.EmArray;
    
            RadioButtonList rbl = rbl_EmPLTypeV;
            foreach (SlowX.WebLib.Enums.PLType.EmPLType em in emA)
            {
                rbl.Items.Add(new ListItem(em.ToString(), ((int)em).ToString()));
            }
    
            rbl.SelectedIndex = 0;
        }
    
    

  • 
    
    /*
    
    留言 = 1
    建议
    疑问
    
    */
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Reflection;
    
    namespace SlowX.WebLib.Enums
    {
        /// <summary>
        /// 评论类型
        /// </summary>
        [Serializable]
        public partial class PLType
        {
            /// <summary>
            /// $Em.PLType
            /// </summary>
            public const string _SortClassName = "$Em.PLType";
    
            #region 枚举 显示表达式
    
            /// <summary>
            /// 显示表达式
            /// </summary>
            public enum EmShowExpress
            {
                
                /// <summary>
                /// 默认
                /// </summary>
                默认 = 1
            }
    
            #endregion 枚举 显示表达式
    
            #region Enum
    
            /// <summary>
            /// 评论类型
            /// </summary>
            public enum EmPLType
            {
    
                /// <summary>
                /// 留言
                /// </summary>
                留言 = 1,
                /// <summary>
                /// 建议
                /// </summary>
                建议,
                /// <summary>
                /// 疑问
                /// </summary>
                疑问
            }
    
            #endregion Enum
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public PLType()
            {
    
            }
    
            /// <summary>
            /// 数组
            /// </summary>
            public readonly static EmPLType[] EmArray = new EmPLType[]
            {
    EmPLType.留言,
    EmPLType.建议,
    EmPLType.疑问
    
            };
    
    
            /// <summary>
            /// typeof(PLType) 当前PLType的type值
            /// </summary>
            public readonly static Type curType = typeof(PLType);
    
            /// <summary>
            /// typeof(PLType).FullName 
            /// </summary>
            public readonly static string curTypeFullName = curType.FullName;
    
    
            /// <summary>
            /// typeof(EmPLType) 当前枚举EmPLType的type值
            /// </summary>
            public readonly static Type curEnumType = typeof(EmPLType);
    
            /// <summary>
            /// typeof(EmPLType).FullName
            /// </summary>
            public readonly static string curEnumTypeFullName = curEnumType.FullName;
    
    
            /// <summary>
            /// 默认的枚举值
            /// </summary>
            public static readonly EmPLType defaultEm = EmPLType.留言;
    
            /// <summary>
            /// 默认的枚举值
            /// </summary>
            private static Dictionary<EmShowExpress, DataTable> dictionaryDataTableValue = CreateDataTable();
    
            /// <summary>
            /// 获得Text的数组
            /// </summary>
            /// <returns></returns>
            public static string[] GetTextArray()
            {
                EmPLType[] emA = EmArray;
                int iLen = emA.Length;
                string[] theResult = new string[iLen];
    
                for (int i = 0; i < iLen; ++i)
                {
                    theResult[i] = emA[i].ToString();
                }
    
                return theResult;
            }
    
            /// <summary>
            /// 获得显示名称
            /// </summary>
            /// <param name="em"></param>
            /// <returns></returns>
            public static string GetShowName
                (
                    EmPLType em
                )
            {
                return em.ToString();
            }
    
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="em"></param>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            public static string GetShowName
                (
                    EmPLType em,
                    EmShowExpress curEmShowExpress
                )
            {
                     
                if (curEmShowExpress == EmShowExpress.默认)
                    return em.ToString();
                else
                    return em.ToString();
    
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="strValues"></param>
            /// <param name="valueLinkChar"></param>
            /// <param name="textLinkChar"></param>
            /// <returns></returns>
            public static string GetShowNames
                (
                    string strValues,
                    string valueLinkChar,
                    string textLinkChar
                )
            {
                if (strValues == null || strValues.Length == 0)
                    return "";
    
                string[] sArray = strValues.Split(valueLinkChar.ToCharArray());
    
                StringBuilder theResult = new StringBuilder();
                bool isFirst = true;
    
                foreach (string s in sArray)
                {
                    if (s == null || s.Length == 0)
                        continue;
    
                    if (isFirst)
                    {
                        isFirst = false;
                    }
                    else
                    {
                        theResult.Append(textLinkChar);
                    }
    
                    theResult.Append
                        (
                            GetShowName
                                (
                                    GetEmByString(s) 
                                )
                        );
                }
    
                return theResult.ToString();
            }
    
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="strValues"></param>
            /// <param name="valueLinkChar"></param>
            /// <param name="textLinkChar"></param>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            public static string GetShowNames
                (
                    string strValues,
                    string valueLinkChar,
                    string textLinkChar,
                    EmShowExpress curEmShowExpress
                )
            {
                if (strValues == null || strValues.Length == 0)
                    return "";
    
                string[] sArray = strValues.Split(valueLinkChar.ToCharArray());
    
                StringBuilder theResult = new StringBuilder();
                bool isFirst = true;
    
                foreach (string s in sArray)
                {
                    if (s == null || s.Length == 0)
                        continue;
    
                    if (isFirst)
                    {
                        isFirst = false;
                    }
                    else
                    {
                        theResult.Append(textLinkChar);
                    }
    
                    theResult.Append
                        (
                            GetShowName
                                (
                                    GetEmByString(s),
                                    curEmShowExpress
                                )
                        );
                }
    
                return theResult.ToString();
            }
    
            /// <summary>
            /// 创建数据表
            /// </summary>
            /// <returns></returns>
            private static Dictionary<EmShowExpress, DataTable> CreateDataTable()
            {
                Dictionary<EmShowExpress, DataTable> theResult = new Dictionary<EmShowExpress, DataTable>();
    
                theResult.Add(EmShowExpress.默认, CreateDataTableByEmShowExpress(EmShowExpress.默认));
    
    
                return theResult;
            }
    
            /// <summary>
            /// 创建数据表
            /// </summary>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            private static DataTable CreateDataTableByEmShowExpress(EmShowExpress curEmShowExpress)
            {
                DataTable dt = new DataTable();
    
                dt.Columns.Add("ID", typeof(int));
                dt.Columns.Add("TheName");
    
                EmPLType[] emA = EmArray;
    
                DataRow dr = null;
    
                foreach (EmPLType em in emA)
                {
                    dr = dt.NewRow();
    
                    dt.Rows.Add(dr);
    
                    dr["ID"] = (int)em;
                    dr["TheName"] = GetShowName(em, curEmShowExpress);
                }
    
                return dt;
            }
    
            /// <summary>
            /// 获得DataTable
            /// </summary>
            /// <returns></returns>
            public static DataTable ReturnDataTable()
            {
                return dictionaryDataTableValue[EmShowExpress.默认];
            }
    
            /// <summary>
            /// 获得DataTable
            /// </summary>
            /// <returns></returns>
            public static DataTable GetDataTable()
            {
                return dictionaryDataTableValue[EmShowExpress.默认];
            }
    
            /// <summary>
            /// 获得DataTable
            /// </summary>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(EmShowExpress curEmShowExpress)
            {
                return dictionaryDataTableValue[curEmShowExpress];
            }
    
            /// <summary>
            /// 获得数据集
            /// </summary>
            /// <param name="fromCache"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(bool fromCache)
            {
                if (fromCache)
                    return dictionaryDataTableValue[EmShowExpress.默认];
                else
                    return CreateDataTableByEmShowExpress(EmShowExpress.默认);
            }
    
    
            /// <summary>
            /// 获得数据集
            /// </summary>
            /// <param name="curEmShowExpress"></param>
            /// <param name="fromCache"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(EmShowExpress curEmShowExpress,bool fromCache)
            {
                if (fromCache)
                    return dictionaryDataTableValue[curEmShowExpress];
                else
                    return CreateDataTableByEmShowExpress(curEmShowExpress);
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetEmByInt(int theValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == (int)em)
                        return em;
                }
    
                MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
            }
    
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetEmByLong(long theValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == (long)em)
                        return em;
                }
    
                MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetEmByString(string theValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == ((int)em).ToString())
                        return em;
                }
    
                MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
    
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetEmByObj(object theValue)
            {
                MethodBase methodBaseValue = null;
    
                if (theValue == null)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为null,没有找到对应的枚举值。");
                }
    
                if (theValue is EmPLType)
                    return (EmPLType)theValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为空,没有找到对应的枚举值。");
                }
    
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (strValue == ((int)em).ToString())
                        return em;
                }
    
                methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + strValue.ToString() + "没有找到对应的枚举值。");
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByInt(int theValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == (int)em)
                        return em;
                }
    
                return defaultEm;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByLong(long theValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == (long)em)
                        return em;
                }
    
                return defaultEm;
            }
    
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByString(string theValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultEm;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByObj(object theValue)
            {
                if (theValue == null)
                    return defaultEm;
    
                if (theValue is EmPLType)
                    return (EmPLType)theValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                    return defaultEm;
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (strValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultEm;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByInt(int theValue, EmPLType defaultValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == (int)em)
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByLong(long theValue, EmPLType defaultValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == (long)em)
                        return em;
                }
    
                return defaultValue;
            }
    
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByString(string theValue, EmPLType defaultValue)
            {
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByObj(object theValue, EmPLType defaultValue)
            {
                if (theValue == null)
                    return defaultValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                    return defaultValue;
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (strValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得 Text 获得 EmPLType 
            /// </summary>
            /// <param name="theText"></param>
            /// <returns></returns>
            public static EmPLType GetEmByText(string theText)
            {
                MethodBase methodBaseValue = null;
    
                if (theText == null)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText为null,没有找到对应的枚举值。");
                }
    
                if (theText.Length == 0)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText为空,没有找到对应的枚举值。");
                }
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theText == (em).ToString())
                        return em;
                }
    
                methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText = " + theText.ToString() + "没有找到对应的枚举值。");
            }
    
    
            /// <summary>
            /// 获得 Text 获得 EmPLType 
            /// </summary>
            /// <param name="theText"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByText(string theText, EmPLType defaultValue)
            {
                if (theText == null)
                    return defaultValue;
    
                if (theText.Length == 0)
                    return defaultValue;
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (theText == (em).ToString())
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param> 
            /// <returns></returns>
            public static EmPLType GetEmByAllObj(object theValue)
            {
                MethodBase methodBaseValue = null;
    
                if (theValue == null)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为null,没有找到对应的枚举值。");
                }
    
                if (theValue is EmPLType)
                    return (EmPLType)theValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为空,没有找到对应的枚举值。");
                }
    
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (strValue == ((int)em).ToString() || strValue == em.ToString())
                        return em;
                }
    
                methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + strValue.ToString() + "没有找到对应的枚举值。");
            
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmPLType GetDefaultEmByAllObj(object theValue, EmPLType defaultValue)
            {
                if (theValue == null)
                    return defaultValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                    return defaultValue;
    
                EmPLType[] emA = EmArray;
    
                foreach (EmPLType em in emA)
                {
                    if (strValue == ((int)em).ToString() || strValue == em.ToString())
                        return em;
                }
    
                return defaultValue;
            }
    
        }
    
            
    }
    
    
    
    

标签:通过枚举绑定RadioButtonList 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)