1

我需要能够在读取和写入时区分网格视图中的 NULL 和空数据,并使用自动生成的列,因为网格视图将用于多个数据集。

我试图创建一个“nullGridView”控件,如下所示。我将代码文件放入我的 App_Code 目录。

Namespace Xcontrol
    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
End Namespace

在我的 .aspx 文件中,我有参考资料

<%@ Register TagPrefix="Xcon" Namespace="Xcontrol" %>
...
<Xcon:nullGridView ID="gv2" runat="server"></Xcon:nullGridView>

在设计模式下,一切正常,智能感知显示 Gridview 的所有属性。但是当我尝试编译时,我得到“类型'Xcontrol.nullGridView'未定义。

有什么建议么?

4

1 回答 1

0

我有很多次,无论出于何种原因,当我在 App_Code 文件夹中创建文件时,它都无法编译。我发现可行的方法是将有问题的文件从该文件夹中移出并移到根目录或任何实际位置,然后突然之间它会神奇地编译。然后您可以将其移回 App_Code 文件夹。所有的编译都应该从那里开始工作。这是一个很奇怪的东西,这是肯定的。

至于为什么它在 App_Code 文件夹中不起作用,我发现这篇文章非常有帮助:

App_Code 文件夹不适用于 Web 应用程序项目 (WAP)

您最好在根目录上创建一个ControlsCustomControls文件夹并将文件放在那里。

于 2013-11-05T15:40:43.217 回答