我正在编写一个应用程序,它从 AJAX JSON 响应中呈现“作业”对象列表。
从返回的数据中呈现标记的最佳方式是什么。现在我非常确信在服务器端生成 HTML 标记并从 AJAX 调用返回它是一个坏主意。根据经验,它使 HTML 难以维护,并且重构内容是一场噩梦,因此我将 Job 对象的集合作为 JSON 返回。
那么,问题是如何根据用户输入呈现 HTML?我已经看到一些示例,这些示例将您的标记模板放在页面上,然后使用 JQuery 克隆它并填充相关数据,然后将其插入到 DOM 中。
这个问题是模板包含可见内容(图像等)并且应用程序需要降级,所以我在页面上有一个转发器,如果 JS 不可用,服务器端代码和页面加载时填充。
如有任何建议,我们将不胜感激。
最佳答案
John Resig(jQuery 家伙)做了一个 super 简单的模板引擎,您可以在客户端使用它,Rick Strahl 有 a good post关于它。
Trimpath 有一个很棒的客户端模板解决方案,叫做 Javascript Templates - 不是最有想象力的名字,但它确实非常好。
我通常不做谷歌链接,但 asp.net ajax(4.0?)有一些 client side templating即将推出,您可以获取 JSON 对象并将它们直接绑定(bind)到数据中。
如果做不到这一点,我将成为魔鬼的拥护者并说“语义 HTML 有什么问题”?只要它是语义的,并且具有类而不是硬编码样式,我个人认为从服务器端调用返回 HTML 没有任何问题。当然,它不像其他解决方案那样纯粹,但它是一个更容易组合在一起的该死的网站。在某些情况下,我什至发现它更容易维护,因为您让“服务器端编码器”返回带有嵌入式类的 HTML,而“客户端编码器”可以通过 6 种方式设置样式到星期日:-)
关于c# - 从 AJAX 结果呈现 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2048294/