データオブジェクトをHTMLに変換するメカニズムを探しています。データオブジェクトの要素は、単純型と複合型の両方です。レンダリングのためにHtmlTextWriterで遊んでみましたが、複雑なタイプで行き詰まりました。
MineはASP.NetWebサイトプロジェクトです。フロントエンドの処理はjQueryの助けを借りて行われるため、サーバー側のコントロールの使用を避ける必要があります(したがって、組み込みのバインディング機能を廃止します)。データオブジェクトの基本的なHTMLを作成するだけで、残りの拡張(コンテンツの配置とスタイル設定)はフロントエンドで行われます。
私は簡単な解決策を探しています(Spring.Netはやり過ぎで圧倒的であり、NHAMLも非常に混乱していることがわかりました)。
さらに、私のアプリケーションは一定期間にわたって成長すると予想されるため、パフォーマンスをある程度尊重する必要があります。したがって、私はXML/XSLTを写真に取り入れることを避けています。
たとえば。Personオブジェクトは次のようになります。
文字列:名前
Int:年齢
複合型:住所(Street、City、Zipを含む)タイプ"Qualification"
の配列 :Qualifications(Degree、Passing Year、Gradesを含む)
必要な出力は次のとおりです。
<p id="userName" class="userName">John</p>
<p id="age" class="age">35</p>
<div id="address" class="address">
<p id="street" class="street">Express Highway</p>
<p id="city" class="city">Mumbai</p>
<p id="zip" class="zip">400101</p>
</div>
<div id="qualifications" class="qualifications">
<div id="qualification1" class="qualification">
<p id="degree1" class="degree">B.Sc.</p>
<p id="year1" class="year">1990</p>
<p id="grade1" class="grade">A</p>
</div>
<div id="qualification2" class="qualification">
<p id="degree2" class="degree">M.Sc.</p>
<p id="year2" class="year">1992</p>
<p id="grade2" class="grade">A</p>
</div>
</div>
ここで注意すべき点は、ソースデータオブジェクトからプロパティをマップし、それにメタデータ(HTML要素属性など)を追加してから変換を実行するには、マッパーが必要になるということです。