asp.net项目开发中用到的小技巧

时间:2021-12-01 15:57:44

1 显示枚举的值:<%# (CN80s.DDPM.Model.Enum.EnumBidCardStatus)(int)Eval("PerpaidCard_Status")%> 
2 为下拉框绑定枚举: 

复制代码代码如下:


GetEnumList(ddlBids); 
void GetEnumList(DropDownList ddl) 

foreach (EnumBidCardType s in System.Enum.GetValues(typeof(EnumBidCardType))) 

ddl.Items.Add(new ListItem(s.ToString(), ((int)s).ToString())); 


this.ddlBids.DataSource = GetEnumList(typeof(EnumBidCardType), true); 
this.ddlBids.DataTextField = "Text"; 
this.ddlBids.DataValueField = "Value"; 
this.ddlBids.DataBind(); 
public static List<ListItem> GetEnumList(Type enumType, bool allAllOption) 

if (enumType.IsEnum == false) 

return null; 

List<ListItem> list = new List<ListItem>(); 
if (allAllOption == true) 

list.Add(new ListItem("--全部--", "")); 

Type typeDescription = typeof(DescriptionAttribute); 
System.Reflection.FieldInfo[] fields = enumType.GetFields(); 
string strText = string.Empty; 
string strValue = string.Empty; 
foreach (FieldInfo field in fields) 

if (field.IsSpecialName) continue; 
strValue = field.GetRawConstantValue().ToString(); 
object[] arr = field.GetCustomAttributes(typeDescription, true); 
if (arr.Length > 0) 

strText = (arr[0] as DescriptionAttribute).Description; 

else 

strText = field.Name; 

list.Add(new ListItem(strText, strValue)); 

return list;