Mik*_*ain 9 javascript asp.net asp.net-mvc templates razor
这可能吗?以我想要实现的目标为例,采用Facebook评论系统.现有注释在服务器上呈现,但如果我留下新注释,则使用客户端上的AJAX创建它.理想情况下,我只想在一个地方存储注释的模板,并且可以在服务器(由Razor呈现)和客户端上使用它(使用服务器返回的JSON在Javascript中呈现).
有任何想法吗?
编辑:我想另一个选择是坚持纯粹的服务器端渲染,当用户发布新的评论时,将呈现的HTML返回到浏览器以填充到DOM中.这不是很好,但我很想知道这是否可行.
小智 8
我反对渲染服务器端,然后将其发送回您的JS脚本以获得带宽和性能.相反,您应该使用适用于服务器和客户端的模板引擎.当客户端想要刷新注释时,它只请求注释的数据,然后使用在服务器上使用的相同模板从数据中呈现的新html替换旧注释html.
我一直在使用Mustache模板引擎来实现这一点,使用PHP和JS.有一个.NET版本我认为适用于ASP.NET,我猜你正在使用ASP.NET.
所以我做的是确保我在PHP和JS中以相同的方式格式化数据,然后使用Mustache模板进行渲染.
胡子很容易使用.您获取一个对象和一个模板,然后返回HTML.
示例对象:
object->user = "Kilroy"
object->comment = "was here"
object->edited = true
Run Code Online (Sandbox Code Playgroud)
示例模板:
{{user}} {{comment}} {{#edited}}(This comment has been edited){{//edited}}
Run Code Online (Sandbox Code Playgroud)
结果:
Kilroy was here (This commment has been edited)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3003 次 |
| 最近记录: |