c# - 从 AJAX 结果呈现 HTML 内容

标签 c# .net asp.net jquery ajax

我正在编写一个应用程序,它从 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/

相关文章:

c# - 使用 Windows 文件复制或文件移动动画?

c# - 在 XAML 堆栈布局中插入 cs stacklayout

c# - 类库作为嵌入式资源——可以做到吗?

ASP.NET Ajax 日历

c# - 如何将列表框中的所选项目添加到列表 <string> 在 C# 中

c# - 这种技术有名称吗?它是一种代码味道吗?

.net - 在 SQL Server 中存储特殊 unicode 字符并在 .NET 中检索

c# - 如何禁用 Windows 平板电脑内置的网络摄像头

asp.net - 通过Asp.net背后的代码访问虚拟目录文件夹

javascript - 如何使用 jquery/javascript 在 asp.net c# 中禁用单选按钮单击上的链接按钮