2016-11-03 6 views
0

APIで更新されたすべての製品のリストをAPIから戻したいと思います。 APIは、データを返す約束を使用するAngularJSコードによって呼び出されます。クライアント側でAngularによって解釈できるサーバー側の一連の製品をどのような形式で構築する必要がありますか?C#Web APIからAngular ng-repeatにデータを返す形式

C#の理想的には、私はリストで更新された製品で、料金を終わるしたい

.then(function (data) { 
    // promise fulfilled 
    if (data === '') { 
     alert("No Data Returned"); 
    } else { 
     // Data is returned 
     // How to get it in model that can be iterated over 
    } 
} 

<div ng-repeat="model in data "> 
    {{model.ProductName + ' ' + model.ProductPrice + ' imported' }} 
</div> 

角度

string results = "WidgetA - $12, WidgetB - $22 - ....": 
return Request.CreateResponse<string>(HttpStatusCode.OK, results); 

HTML。

答えて

2

問題は、文字列を返すことです。それはちょうど、まあ、文字列です。しかし、あなたは何かの配列を返すしたいです。

だから、何かの配列を返します(。。あなたはもちろん、Productクラスを作成したと仮定すると、あなたが好きしかし、ことを構築)

var results = new List<Product> 
{ 
    new Product("WidgetA", 12.0), 
    new Product("WidgetB", 22.0) 
}; 
return Request.CreateResponse<IEnumerable<Product>>(HttpStatusCode.OK, results); 

次に、クライアント側:

.then(function (data) { 
    // promise fulfilled 
    if (data.length === 0) { 
     alert("No Data Returned"); 
    } else { 
     // "data" is an array of products here 
    } 
} 

構造化され定義されたモデルは、一般に、文字列ブロブよりも扱いが簡単で、解析する必要がある場所であればどこでも使用できます。

+0

ありがとうDavid!それは意味があります。その配列がデータとして返されると、ng-repeatのAngularでそれをどのように反復するのでしょうか? – webworm

+1

@webworm:私はAngularの専門家ではありませんが、モデルには拘束力があると思われます。私はここで簡単な例を見つけました:http://jsfiddle.net/austinnoronha/RkykR/ 'data'はあなたの配列です、' m'はその例の配列です。 – David

関連する問題