我创建了一个从 gridview 继承的控件:
Partial Public Class nullGridView
Inherits System.Web.UI.WebControls.GridView
Protected Overrides Function CreateAutoGeneratedColumn(ByVal fieldProperties As AutoGeneratedFieldProperties) As AutoGeneratedField
' Create an AutoGeneratedField object.
Dim field As New AutoGeneratedField(fieldProperties.DataField)
' Set the properties of the AutoGeneratedField using
' the values from the AutoGeneratedFieldProperties
' object contained in the fieldProperties parameter.
CType(field, IStateManager).TrackViewState()
field.HeaderText = fieldProperties.Name
field.SortExpression = fieldProperties.Name
field.ReadOnly = fieldProperties.IsReadOnly
field.DataType = fieldProperties.Type
field.NullDisplayText = "NULL"
Return field
End Function
End Class
然后我可以在代码隐藏中创建类的实例并将它们放入占位符中。但是,我试图覆盖的功能永远不会触发。我根据 Microsoft 文档和其他来源检查了它的签名,它似乎与记录的签名相同,但它从未被调用。关于它为什么不起作用或如何调试此类问题的任何建议?
(请注意,我还在类中放入了一个构造函数,这被称为 OK - 只有上面没有被调用)。