2017-10-04 7 views
0

Web APIコールから返されたJSONデータをHTMLに取り込む必要があります。 また、HTMLは顧客に公開されるテンプレートファイルです。 ここで、顧客はHTMLのいくつかのフィールドを編集できます。 HTMLは、テーブルデータ形式を有すると仮定すると、いくつかのヘッダと列等を除去する。例えばjsonデータをフィールドに基づいてHTMLテンプレートに埋め込む


。 ユーザーがクライアント側のボタンをクリックするたびに、Web API呼び出しが実行され、JSONデータが取得されます。 このJSONデータは、それが持つタグに基づいてHTMLテンプレートにロードする必要があります。


HTMLを入力するには、c#を使用する必要があります。 レンダリング(HTMLの母集団)はすべてサーバー側で行われなければなりません。 javascriptも使用できますが、現在のサーバーソリューションはasp.net web-APIにあります。主な要件は、レンダリングがどの言語を使用してもサーバー側で行われなければならないことです。 C#でそれを行うには?

HTML

<h3>Table Name</h3> 
<table style="width:100%"> 
    <tr> 
    <th>Row Names</th> 
    <th>NewItems</th> 
    <th>ChangedItems</th> 
    <th>Errors</th> 
    <th>total</th> 
    </tr> 

    <tr> 
    <td>Types</td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 

    <tr> 
    <td>Properties</td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 

    <tr> 
    <td>Lists</td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 

    <tr> 
    <td>Entries</td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 
</table> 

JSON

{ 
    "Compare Report": { 
     "Types": { 
      "NewItems": 0, 
      "ChangedItems": 0, 
      "Errors": 0, 
      "Total": 0 
     }, 
     "Properties": { 
      "NewItems": 0, 
      "ChangedItems": 0, 
      "Errors": 0, 
      "Total": 0 
     }, 
     "Lists": { 
      "NewItems": 0, 
      "ChangedItems": 0, 
      "Errors": 0, 
      "Total": 0 
     }, 
     "Entries": { 
      "NewItems": 0, 
      "ChangedItems": 0, 
      "Errors": 0, 
      "Total": 0 
     } 
    } 
} 

サンプル表

enter image description here

+0

JSONとHTMLの関係は何ですか?つまり、テーブル内の行または列で表されるNewItems/ChangedItems/Errors/Totalはありますか? – jhenderson2099

+0

申し訳ありませんが、それらを関連付ける必要があります。今編集しました。 NewItems/ChangedItems/Errors/Totalはカラム名です タイプ/ props/lists/entriesはローの名前です – Sundeep

+0

カラムは現在、NewItems/ChangedItems/Errors/Totalを表すはずのCol1/2/3/4として表示されますか?また、あなたの現在のJSONデータを元にして、ゼロの表を期待していますか? – jhenderson2099

答えて

0

あなたはASの一部として(モデルが必要になりますP MVC)、およびJSONシリアライザ/デシリアライズを使用してJSONをオブジェクトに変換します(AJAX/jQueryを使用していないため)。あなたが使用することができます(使用している.NETのバージョンによって異なります)。ネットJavaScriptSerializer class

  • 、または
  • Newtonsoft JSON.Netライブラリ

:JSONデシリアライザは、の一部として提供されていますJSONデシリアライザを使用してJSONをASP MVCモデルにマップし、ビュー内でレンダリングします。

this .Net Fiddleを調べると、Newtonsoft.JSONとASP MVC 4.5と一緒に調べられます。 (JavaScriptSerializerクラスのビルトインサポートはありません)

+0

私はあなたの提案を理解しています、ありがとうございます。私は使用されているビューがcshtmlだと思います。モデルを使用しないで方法がありません。このビューはcshtmlではなくhtmlでなければならず、コードを含んではいけません。 – Sundeep

+0

正しい。ビューは.cshtmlです。 [ViewBag](https://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(v = vs.118).aspx)を使用すると、モデルなしでこれを行うことができます。 。 – jhenderson2099

+0

モデルは、コントローラによってロードされ、ビューによって使用されるMVCフレームワークの一部として使用されます。 Javascript経由でJSONを逆シリアル化できますが、テーブルをレンダリングするにはJava Javascriptが必要です。 いずれにしても、JSONを取得してテーブルを動的に作成するには、オブジェクト(C#またはJavaScript)が必要です。 – jhenderson2099

関連する問題