【发布时间】:2009-12-17 17:41:36
【问题描述】:
我正在尝试将 IList 对象绑定到 GridView 的 DataSource,并且该对象的属性之一是枚举。当对象绑定到 GridView 行时,我试图在枚举上使用 TypeConverter 来使用描述。看起来我的 EnumConverter.ConvertTo 方法没有被调用。对象绑定到 ASP.NET GridView 时会自动调用 TypeConverter 吗?
枚举:
[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
}
TypeConverter 类:
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);
}
}
【问题讨论】:
-
successfull 应该是成功的 - 至少在英国 ;-)
-
是的....需要改进我的拼写...:)
标签: c# .net asp.net typeconverter