0

假设您有一个具有以下原型的 VB.Net Web 方法:

Public Function HelloWorld() As DataTable

假设您在普通的 JavaScript/Ajax 中返回给您。您将如何从中获取单个行,以及如何从这些行中获取单个字段(至少假设它来自 SQL 查询 - 我不确定它是否有所作为)?在将其传递给成功函数之前,我不会将其转换为任何特定类型。为了说明我在说什么,这有点像在 AS3 中这样做:

for each (var table:Object in pEvent.result.Tables) {
    for each (var row:Object in table.Rows) {
        ac.addItem(row["id"]);
    }
}

除了我不一定要像那样循环遍历它们——我只是想要某种方式从它们中获取信息。谢谢!

编辑:例如,假设您在 VB.Net Web 服务中具有以下功能:

<WebMethod()> _
Public Function Test() As DataTable
    Return DBA.OneTimeQuery("SELECT id FROM visits WHERE id = 13")
    // returns a one-row, one-column DataTable with the id field being set to 13
End Function

一旦它进入调用 web 方法的 JavaScript,你怎么能从中取出 13 个呢?我尝试的一切都只是说“[object]”。

4

1 回答 1

1

您不想在 Web 方法中返回 DataTable 对象。最好的方法是开发一个 REST Web 方法,该方法返回代表您想要返回的数据的 JSON,因为 JavaScript 将能够直接使用 JSON。 这是一个 QA,指导您如何执行此操作。这是如果您使用的是 WCF,看起来您就是这样。我发现将ASP.NET Web API用于 RESTful Web 服务会更好。

于 2012-10-30T17:22:11.773 回答