0
我在查询数据库,然后用结果构建HTML表,但是当我将返回的字符串分配给容器div的InnerHtml时,我得到一个“未处理的类型为'System.StackOverflowException'的异常”从此代码获取堆栈溢出/无限循环崩溃,不知道为什么
Using db As New AdoHelper()
Dim builder As New StringBuilder
builder.Append("<table class='table table-striped table-hover' data-toggle='table'><thead><tr><th>.......</th></tr></thead>")
Using rdr As SqlDataReader = db.ExecDataReader(qry)
' Get row of data from rdr
While rdr.Read()
builder.Append("<tbody><tr><td>")
builder.Append(rdr(rdr.GetName(0)))
builder.Append("</td>")
builder.Append("<td>")
builder.Append(rdr(rdr.GetName(1)))
builder.Append("</td>")
builder.Append("<td>")
builder.Append(rdr(rdr.GetName(2)))
builder.Append("</td>")
builder.Append("<td>")
builder.Append(rdr(rdr.GetName(3)))
builder.Append("</td>")
builder.Append("<td>")
builder.Append(rdr(rdr.GetName(4)))
builder.Append("</td>")
builder.Append("<td>")
builder.Append(rdr(rdr.GetName(5)))
builder.Append("</td>")
builder.Append("</tr>")
End While
End Using
builder.Append("</tbody></table>")
Return builder.ToString
End Using
我不认为* *它会帮助,但你应该在最后第一个'Using'和'返回builder.ToString'前移至'昏暗的建设者作为新StringBuilder'向'结束Using' 。 –
当引发异常时,查看VS调试器的“调用栈”窗口。它将帮助您识别哪个方法称为哪个方法,以及哪个方法一遍又一遍地调用相同的方法。请参阅:[**如何:使用调用堆栈窗口**](https://msdn.microsoft.com/en-us/library/a3694ts5.aspx)。 –
如果使用[Option Strict On](https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx),它会为您指出代码的一些问题。如果你修复它们,那么你可能有工作代码。 –