0

这现在真的很令人沮丧。

我在 gridview 标记上有这个隐藏字段:

<asp:TemplateField>
 <ItemTemplate>  
  <asp:HiddenField ID="dhide" Value='<%# Eval("shipDates","{0:M/dd/yyyy}") %>' runat="server" />
 </ItemTemplate>
</asp:TemplateField>

然后在代码隐藏中,我试图检索 dhide 的值:

Sub cancelIt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim objConnection As SqlConnection

Dim DLdates As HiddenField = DirectCast(GridView1.FindControl("dhide"), HiddenField)
Response.write (DLdates)

我究竟做错了什么?

4

1 回答 1

0

它的NamingContainer位置不是它,GridView而是GridViewRow它所在的位置。

所以:

For Each row As GridViewRow In GridView1.Rows 
    Dim dhide = DirectCast(row.FindControl("dhide"), HiddenField)
    Dim shipDates = Date.ParseExact(dhide.Value, "M/dd/yyyy", Nothing)
    ' ...
Next
于 2013-06-07T15:40:46.670 回答