我正在寻找一种将数据对象转换为 HTML 的机制。数据对象中的元素既有简单类型,也有复杂类型。我曾尝试使用 HtmlTextWriter 进行渲染,但遇到了复杂类型。
我的是一个 ASP.Net 网站项目。我必须避免使用服务器端控件(因此取消内置绑定功能),因为前端处理是在 jQuery 的帮助下完成的。我只需要为我的数据对象生成基本的 HTML,其余的丰富(内容排列和样式)将在前端完成。
我正在寻找一个简单的解决方案(我发现 Spring.Net 是一种过度杀伤和压倒性的,NHAML 也非常令人困惑)。
此外,我的应用程序预计会在一段时间内增长,因此我需要对性能有所尊重。因此,我避免在图片中引入 XML/XSLT。
例如。Person对象将是这样的:
String : Name
Int : Age
Complex Type : Address (包括 Street, City, Zip)
Array of Type "Qualification" : Qualifications (包括学位, 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 元素属性等),然后执行转换。