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),它會爲您指出代碼的一些問題。如果你修復它們,那麼你可能有工作代碼。 –