Asp.net 在ItemCreated处理程序中使用隐藏字段

Asp.net 在ItemCreated处理程序中使用隐藏字段,asp.net,vb.net,datalist,hidden-field,Asp.net,Vb.net,Datalist,Hidden Field,我正在使用数据列表制作一个大型数据输入web表单 我有三组问题,我在ASP隐藏字段中存储了一些信息。我想根据这些HiddenFields的值为这些数据列表项的背面上色,但在ItemCreated事件中,我的DataListItemEventArgs都为Nothing或空 我使用ItemDataBound实现了这一点,但回发后,我的行将失去颜色 这是我在ItemDataBound中使用的内容: Protected Sub CategoryColors(ByVal sender As Object,

我正在使用数据列表制作一个大型数据输入web表单

我有三组问题,我在ASP隐藏字段中存储了一些信息。我想根据这些HiddenFields的值为这些数据列表项的背面上色,但在ItemCreated事件中,我的DataListItemEventArgs都为Nothing或空

我使用ItemDataBound实现了这一点,但回发后,我的行将失去颜色

这是我在ItemDataBound中使用的内容:

Protected Sub CategoryColors(ByVal sender As Object, ByVal e As DataListItemEventArgs) Handles TheTable.ItemDataBound

    Dim v = CType(e.Item.FindControl("CtType"), HiddenField).Value
    Try
        If v = 1 Then
            e.Item.BackColor = Drawing.Color.LightBlue
        ElseIf v = 2 Then
            e.Item.BackColor = Drawing.Color.Khaki
        ElseIf v = 3 Then
            e.Item.BackColor = Drawing.Color.LightGreen
        Else
            e.Item.BackColor = Drawing.Color.Red
        End If
    Catch ex As Exception

    End Try
End Sub

将该子项的主体复制到ItemCreated处理程序不会执行任何操作。我能用不同的方法做同样的事情吗?非常感谢您的帮助。

这似乎是DataList控件的一个已知问题:sightAh没有改进。那好吧。谢谢你的链接!一个令人失望的答案总比没有好。颜色不是必须的,所以不用担心。