繁体   English   中英

使用部分视图还是在javascript中生成HTML?

[英]Use Partial View or generate HTML in javascript?

我在asp.net mvc上有一个项目。

在某些情况下,当用户执行某项操作时,应更新html页面的一部分。 整个页面不应该重新加载。 例如,用户单击产品类别,应加载带有新产品的html标记。

最佳做法是-使用部分视图和Ajax.ActionLink更新部分视图产品,或使用$ .ajax接收有关产品的信息,然后在javascript中生成html标记?

还是最佳实践是其他?

这取决于您的要求。 正如您所说,通常有两种方法:

通过Ajax加载格式化的HTML,或者加载JSON,然后自己创建HTML。 每种方法都有其优点和缺点:

载入HTML

好处:

  • 您可以在服务器端进行生成,从而保持客户端代码干净

缺点

  • 您通过电线发送的数据包的大小将更大
  • 该请求仅针对该方法是非常特定的,并且将很难重用

加载JSON

好处:

  • 有效负载尽可能小
  • 由于您没有将其绑定到一个实现中,因此可以将JSON重用于其他目的(例如,移动客户端)

缺点:

  • HTML的生成必须在客户端完成。 如果您手动执行此操作或使用jQuery,这可能会很麻烦,并且会增加客户端脚本的数量。 (一种解决方案是使用诸如moustache.js或handlebars.js之类的模板引擎)
  • 您的呈现逻辑在服务器和客户端上,这意味着并非所有内容都在一个地方

如您所见,两者都有优点和缺点。 这里没有真正的硬性规定,这取决于您的情况。

总的来说,我的建议是,如果您希望快速完成一些操作,并且您认为在其他地方使用动态HTML加载不需要其他方法。 如果您认为可能要在其他页面或其他客户端上重用数据,请使用带有模板引擎的JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM