我想綁定一個對象的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