访问HTML表时VB中的类型转换错误

访问HTML表时VB中的类型转换错误,html,asp.net,vb.net,Html,Asp.net,Vb.net,我有一个HTML表,允许使用一些JavaScript动态添加/删除行(单元格中包含文本输入)。我没有使用ASP.NET文本框控件,只是使用传统的HTML,因为我认为包含ASP.NET控件的行不需要回发就无法添加/删除 当用户单击ASP:按钮时,我正在使用VB循环服务器代码中的表行,并最终使用LINQ写入数据库。我在文件中有“Imports System.Web.UI.HtmlControls” 我遇到问题的代码是: Dim name As HtmlInputText name = row.Ce

我有一个HTML表,允许使用一些JavaScript动态添加/删除行(单元格中包含文本输入)。我没有使用ASP.NET文本框控件,只是使用传统的HTML,因为我认为包含ASP.NET控件的行不需要回发就无法添加/删除

当用户单击ASP:按钮时,我正在使用VB循环服务器代码中的表行,并最终使用LINQ写入数据库。我在文件中有“Imports System.Web.UI.HtmlControls”

我遇到问题的代码是:

Dim name As HtmlInputText

name = row.Cells(0).Controls(0)
错误是:“无法将类型为'System.Web.UI.LiteralControl'的对象强制转换为上面第2行的类型'System.Web.UI.HtmlControl.HtmlInputText'。”

每个单元格中只有一个输入控件,因此我假设可以使用“控件(0)”访问它。我读过使用“FindControl”的解决方案,但我认为这不适用于标准HTML“输入”,而且,由于行是动态添加/删除的,所以几乎不可能知道要搜索的“ID”


有什么想法吗?干杯。

解决了这个问题。只需要将runat=“server”添加到输入标记中。感谢各位的回复。

我假设您的单元格中有文字和输入框,即使这只是空白。调试。检查
row.Cells(0).Controls
实际包含的内容,然后根据需要进行编码。该单元格不包含除输入之外的任何内容,即:它显然至少在第一个位置有一个
LiteralControl
,因此当你说它不包含除输入之外的任何内容时,我不确定我是否相信你。您是否实际调试并查看了控件集合,或者只是假设?您知道如何调试东西吗?如果没有,马上去学习如何调试!您应该能够在该行上停止代码并查看值。教你如何调试对于一个评论来说有点大,但是我相信有很多教程。学习如何调试是作为一个程序员你能学到的最有价值的技能。祝你好运!