我想绑定一个对象的IList到一个GridView的DataSource,并且该对象的其中一个属性是一个枚举。当对象绑定到GridView行时,我试图在枚举上使用TypeConverter来使用Description。它看起来不像我的EnumConverter.ConvertTo
方法被调用。当对象绑定到ASP.NET GridView时,会自动调用TypeConverter吗?TypeConverter绑定到ASP.NET GridView
ENUM:
[TypeConverter(typeof(AuditReasonConverter))]
public enum AuditReason
{
[System.ComponentModel.Description("Successful Login")]
SuccessfulLogin,
[System.ComponentModel.Description("Failed Login")]
FailedLogin,
[System.ComponentModel.Description("New User")]
NewUser,
[System.ComponentModel.Description("Edited User")]
EditedUser
}
类型转换器类:
public class AuditReasonConverter : EnumConverter
{
public AuditReasonConverter()
: base(
typeof(Blah.Core.AuditItem.AuditReason))
{ }
public override object ConvertTo(ITypeDescriptorContext context,
System.Globalization.CultureInfo culture, object value,
System.Type destinationType)
{
if (destinationType == typeof(string))
{
return Utilities.GetEnumerationDescription(typeof(Blah.Core.AuditItem.AuditReason), value); // your code here
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
成功应该是成功的 - 至少在英国;-) – paul 2009-12-25 14:15:15
是的....需要工作我的拼写... :) – CSharpAtl 2009-12-28 02:33:24