我正在尝试使用以下代码从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)
有人可以帮助您使用正确的语法来处理日期值吗?
答案 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(),看看是否可行。