从VB中的GridView检索Date值

时间:2019-07-12 17:14:36

标签: asp.net vb.net date casting

我正在尝试使用以下代码从GridView检索值并将其另存为Date变量:

Dim invoice_date As Date = Convert.ToDateTime((TryCast(row.Cells(2).Controls(0), TextBox)).Text)

我遇到错误:

  

System.Web.UI.WebControls.TextBox)什么都没有返回。

根据我的阅读,如果TryCast失败,它将返回空值。

对于整数,我有一个类似的命令,该命令在另一列上也可以正常工作。

Dim order_value As Integer = Convert.ToInt32((TryCast(row.Cells(3).Controls(0), TextBox)).Text)

有人可以帮助您使用正确的语法来处理日期值吗?

2 个答案:

答案 0 :(得分:0)

如果TryCast无法转换为目标类型,则返回Nothing是正确的。因此,您遇到的问题很可能是row.Cells(2).Controls(0)不是TextBox。要调试它,请分界线:

Dim invoice_date As Date = Convert.ToDateTime((TryCast(row.Cells(2).Controls(0), TextBox)).Text)

像这样:

Dim textbox As TextBox = TryCast(row.Cells(2).Controls(0), TextBox)
Dim invoice_date As Date = Convert.ToDateTime(textbox.Text)

并查看textbox的值。

答案 1 :(得分:0)

尝试并使用DirectCast(),看看是否可行。