如果没有可用的行,下面的代码行CopyToDataTable()会抛出错误,如何处理它?</ p>
<WebMethod()> _
Public Shared Function GetContestants() As String
Dim dttemp As DataTable
currentCount += pageSize
dttemp = dtContestantList.Rows.Cast(Of System.Data.DataRow)().Skip(currentCount).Take(pageSize).CopyToDataTable()
Return GetJson(dttemp)
End Function
答案 0 :(得分:1)
您只需先检查一下:
Dim rows = dtContestantList.Rows.Cast(Of System.Data.DataRow)().Skip(currentCount).Take(pageSize)
If rows.Any() Then
dttemp = rows.CopyToDataTable()
Return GetJson(dttemp)
Else
Return ""
End If
可能存在的例外情况
请注意,您应该小心ASP.NET中的共享/静态DataTables
,这是一个多线程环境。这不是线程安全的。您应该仅将其用于查找。