Javascript 在ASP.NET中使用下划线.js
我一直在比较不同的JavaScript模板引擎,看看哪一个能够为大型数据集提供最佳性能。我遇到的一个是。然而,我还没能让任何一个例子起作用。我的模板看起来像:Javascript 在ASP.NET中使用下划线.js,javascript,asp.net,underscore.js,Javascript,Asp.net,Underscore.js,我一直在比较不同的JavaScript模板引擎,看看哪一个能够为大型数据集提供最佳性能。我遇到的一个是。然而,我还没能让任何一个例子起作用。我的模板看起来像: <% _.each(projects(), function(project) { %> <tr> <td><%= project.code %></td> <td><%= project.request %></td&
<% _.each(projects(), function(project) { %>
<tr>
<td><%= project.code %></td>
<td><%= project.request %></td>
<td><%= project.stage %></td>
<td><%= project.type %></td>
<td><%= project.launch %></td>
</tr>
<% }) %>
但是,当我运行页面时,会出现服务器端ASP.NET异常,因为它试图编译
标记中的文本:
Compiler Error Message: CS1026: ) expected
Line 826: <% _.each(projects(), function(project) { %>
应为编译器错误消息:CS1026:)
第826行:
我无法找到转义这些标记的方法,也无法找到将下划线配置为使用不同语法的方法。是否有解决方法,或者下划线和ASP.NET只是不兼容?
JSP也存在同样的问题,因此我们这样做:
_.templateSettings = {interpolate : /\{\{(.+?)\}\}/g, // print value: {{ value_name }}
evaluate : /\{%([\s\S]+?)%\}/g, // excute code: {% code_to_execute %}
escape : /\{%-([\s\S]+?)%\}/g}; // excape HTML: {%- <script> %} prints <script>
.templateSettings={interpolate://\{{(.+?)\}}/g,//打印值:{{{value\u name}}
计算://\{%([\s\s]+?)%\}/g,//执行代码:{%code\u to\u execute%}
转义:/\{%-([\s\s]+?)%\}/g};//excape HTML:{%-%}打印脚本
这将允许您使用所有不同版本的标记输出:插值、求值和转义。替换:
<% }) %>
更改为:
<% }); %>
祝你好运 这只修复了一个标记集。太好了!这绝对是有帮助的<代码>+1
谢谢!这段代码对我帮助很大。。我让它工作了,但由于某些原因,现在加载页面时会有10-15秒的延迟。。不确定发生了什么,但实际绑定的速度并不明显快于jQuery.tmpl,所以我可能会继续使用它。是的,我认为它没有那么快,但既然我们的站点使用主干,并且已经安装了下划线,那么不妨使用它。当然,我们也有jQuery…啊,当我在本地复制下划线-min.js
文件时,延迟消失了,我猜它是在一个非常慢的服务器上。事实上,对于较小的数据集,速度似乎要快一些,对于较大的数据集,速度也差不多。我可能会把它留着。@MikeChristensen是的,一点也不坏。在我的例子中,即使它的速度很慢,但事实上它总是可用的,不需要加载任何额外的内容。
<% }) %>
<% }); %>