发布于 2016-05-28 21:37:33 | 72 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


将枚举文件里面的数字绑定到DropDownList里面去的实现方法,大家可以借鉴下。

public class AppEnum 
{ 
public enum PointLogType : int 
{ 
/// <summary> 
/// Email确认 
/// </summary> 
[Description("Email确认")] 
Recruit = 1, //新客户激活+ 
/// <summary> 
/// 老客户回馈 
/// </summary> 
[Description("老客户回馈")] 
Veteran = 2, //老客户购物历史回复 
/// <summary> 
/// 生成订单 
/// </summary> 
[Description("生成订单")] 
CreateOrder = 3, //下订单- 
/// <summary> 
/// 作废订单 
/// </summary> 
[Description("作废订单")] 
AbandonSO = 5, //作废订单 
/// <summary> 
/// 作废订单取消 
/// </summary> 
[Description("作废订单取消")] 
CancelAbandonSO = 6, //审核作废取消- 
/// <summary> 
/// 退货 
/// </summary> 
[Description("退货")] 
ReturnProduct = 7, //退货- 
/// <summary> 
/// 取消退货 
/// </summary> 
[Description("取消退货")] 
CancelReturn = 8, 
/// <summary> 
/// 取消出库 
/// </summary> 
[Description("取消出库")] 
CancelOutstock = 9, //取消出货 
/// <summary> 
/// 积分转移 
/// </summary> 
[Description("积分转移")] 
TransferPoint = 10, //积分转移 
/// <summary> 
/// 购物得分 
/// </summary> 
[Description("购物得分")] 
AddPointLater = 11, //滞后加分 
/// <summary> 
/// 订单修改 
/// </summary> 
[Description("订单修改")] 
UpdateSO = 12, //修改SaleOrder 
/// <summary> 
/// 批发扣除 
/// </summary> 
[Description("批发扣除")] 
WholeSale = 13, //批发减分-, 好象没有使用。 
/// <summary> 
/// 买卡 
/// </summary> 
[Description("买卡")] 
InfoProduct = 14, //买卡减分- 
/// <summary> 
/// 其他 
/// </summary> 
[Description("其他")] 
BizRequest = 15, //Request 
/// <summary> 
/// 商品评论送积分 
/// </summary> 
[Description("商品评论送积分")] 
Remark = 16, //Remark 
/// <summary> 
/// 注册送积分 
/// </summary> 
[Description("注册送积分")] 
NewRegister = 17, //注册送积分 
/// <summary> 
/// DIY活动积分增减 
/// </summary> 
[Description("DIY活动积分增减")] 
DIY = 18, //DIY活动积分增减, 成都DIY系统,没有用起来。 
/// <summary> 
/// 系统转移积分 
/// </summary> 
[Description("系统转移积分")] 
SysTransferPoint = 19, //系统帐号neweggcs转移积分给客户 
/// <summary> 
/// 系统帐号增加积分 
/// </summary> 
[Description("系统帐号增加积分")] 
AddPointToSysAccounts = 20, //财务给系统帐号增加积分 
/// <summary> 
/// 参加竞猜 
/// </summary> 
[Description("参加竞猜")] 
BetReductPoint = 21, //下注使用积分 
/// <summary> 
/// 竞猜所得 
/// </summary> 
[Description("竞猜所得")] 
BetAddPoint = 22, //开奖得积分 
/// <summary> 
/// 新用户第一次购物赠送积分 
/// </summary> 
[Description("新用户第一次购物赠送积分")] 
NewCustomerFirstBuy = 23, //新注册用户,第一次购物送积分 
/// <summary> 
/// 自动提升精华赠送积分 
/// </summary> 
[Description("自动提升精华赠送积分")] 
SetScoreAuto = 24, //自动提升精华赠送积分 
/// <summary> 
/// 市场促销活动增送积分 
/// </summary> 
[Description("市场促销活动增送积分")] 
MKTCampaign = 25, 
/// <summary> 
/// 到期回收积分 
/// </summary> 
[Description("到期回收积分")] 
DisusePoint = -1 
} 
} 

上面是一个枚举列表,怎么去读取呢?用一个DDR来绑定呢?

ddlType.DisplayMember = "Value"; 
ddlType.ValueMember = "Key"; 
ddlType.DataSource = CommonFunctions.GetEnumItems(typeof(AppEnum.PointLogType), false); 
ddlType.SelectedValue = 25; // 默认值

下面是CommonFunctions里面的GetEnumItems方法:

/// <summary> 
/// 获得枚举类型所包含的全部项的列表。 
/// </summary> 
/// <param name="enumType">枚举的类型</param> 
/// <param name="withAll">是否包含"All"</param> 
/// <returns></returns> 
public static List<EnumItem> GetEnumItems(Type enumType, bool withAll) 
{ 
List<EnumItem> list = new List<EnumItem>(); 

if (enumType.IsEnum != true) 
{ 
// 不是枚举类型 
throw new InvalidOperationException(); 
} 

// 包含 All 选项 
if (withAll == true) 
list.Add(new EnumItem(AppConst.IntNull, "All")); 

// 获得特性Description的类型信息 
Type typeDescription = typeof(DescriptionAttribute); 

// 获得枚举的字段信息(因为枚举的值实际上是一个static的字段的值) 
System.Reflection.FieldInfo[] fields = enumType.GetFields(); 

// 检索所有字段 
foreach (FieldInfo field in fields) 
{ 
// 过滤掉一个不是枚举值的,记录的是枚举的源类型 
if (field.FieldType.IsEnum == false) 
continue; 

// 通过字段的名字得到枚举的值 
int value = (int)enumType.InvokeMember(field.Name, BindingFlags.GetField, null, null, null); 
string text = string.Empty; 

// 获得这个字段的所有自定义特性,这里只查找Description特性 
object[] arr = field.GetCustomAttributes(typeDescription, true); 
if (arr.Length > 0) 
{ 
// 因为Description自定义特性不允许重复,所以只取第一个 
DescriptionAttribute aa = (DescriptionAttribute)arr[0]; 

// 获得特性的描述值 
text = aa.Description; 
} 
else 
{ 
// 如果没有特性描述,那么就显示英文的字段名 
text = field.Name; 
} 
list.Add(new EnumItem(value, text)); 
} 

return list; 
} 
public class EnumItem 
{ 
private object m_key; 
private object m_value; 

public object Key 
{ 
get { return m_key; } 
set { m_key = value; } 
} 

public object Value 
{ 
get { return m_value; } 
set { m_value = value; } 
} 

public EnumItem(object _key, object _value) 
{ 
m_key = _key; 
m_value = _value; 
} 
} 


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务