オブジェクトの配列を取得し、キーに基づいて値を取得したいと思います。
このjavascriptのようなもの:
PageMethods.GetProducts(function(results) {
var productName = results[0].name;
});
コードビハインドでこれを試しましたが、結果に配列の配列が表示されます。
VB
<WebMethod()>
Public Shared Function GetProducts() As ArrayList
Dim products As New ArrayList
Dim prAdptr As New DataSet1TableAdapters.ProductsTableAdapter
Dim prTbl As DataSet1.ProductsDataTable = prAdptr.GetData
Dim prRow As DataSet1.ProductsRow
For Each prRow In prTbl
Dim product As New Collection
product.Add(prRow.ProductID, "id")
product.Add(prRow.ProductName, "name")
products.Add(product)
Next
Return products
End Function
c#
[WebMethod()]
public static ArrayList GetProducts()
{
ArrayList products = new ArrayList();
DataSet1TableAdapters.ProductsTableAdapter prAdptr = new DataSet1TableAdapters.ProductsTableAdapter();
DataSet1.ProductsDataTable prTbl = prAdptr.GetData;
DataSet1.ProductsRow prRow = default(DataSet1.ProductsRow);
foreach ( prRow in prTbl) {
Collection product = new Collection();
product.Add(prRow.ProductID, "id");
product.Add(prRow.ProductName, "name");
products.Add(product);
}
return products;
}
したがって、キーに基づいて値を取得することはできません。私は次のように値の位置を参照できることを知っています:
results[0][0];
しかし、これは理想的ではありません。
どんな助けでもいただければ幸いです。