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 を取得できるでしょうか? 私が試したことはすべて、「[オブジェクト]」と言うだけです。

4

1 に答える 1

1

WebメソッドでDataTableオブジェクトを返したくない。JavaScriptはJSONを直接処理できるため、最善のアプローチは、返すデータを表すJSONを返すRESTWebメソッドを開発することです。 これは、これを行う方法を説明するQAです。これは、WCFを使用している場合です。RESTfulWebサービスにはASP.NETWebAPI使用する方が良いと思います。

于 2012-10-30T17:22:11.773 に答える