2012-05-02 9 views
2

私はリピータとエンティティデータソースを使用してバックエンドSQLデータベースからデータを取得している小さなテストプロトタイプを構築しています。私の列の1つがJSON形式のデータを返します。ASP.NETリピータコントロールでのJSONデータの解析

質問:リピータ(または、他のASP.NETデータコントロール)内のJSONデータを解析する方法はありますか?これを行うには比較的簡単な方法があると思っていましたが、そうでないことがわかりました。

ありがとうございます!

+0

私は信じているasp.netはあなたのデータを解析するために使用することができますjson.netが付属しています:あなたは、サーバー上のデータを解析すると仮定すると、あなたはItemDataBoundイベントとJavaScriptSerializerクラスを使用することができます。データのレンダリングをカスタマイズするには、[ItemDataBound](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemdatabound.aspx)を記述することができます。 – R0MANARMY

答えて

1

JSONデータを解析することができますが、実際の質問はです。ここでは、を解析します。クライアントまたはサーバー上で

using System.Web.Script.Serialization; 

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    var jsonData = (string)DataBinder.Eval(e.Item.DataItem, "JsonData"); 

    var jss = new JavaScriptSerializer(); 
    var dict = jss.Deserialize<Dictionary<string,dynamic>>(jsonData);     
} 
+0

私は確かにサーバー側でそれを解析することを好むでしょう。私はこのコードを少し試してみて、それを動作させることができるかどうかを見てみましょう。ありがとう! –

+0

愚かな質問の謝罪:インラインコードからDeserialize辞書を呼び出す正しい構文は何ですか? –

+0

私はあなたがインラインコードでできるとは思わない。私は辞書を反復し、 'ItemDataBound'イベントハンドラからリピータの' PlaceHolder'にデータを追加します。 –