我正在探索ASP.NET MVC,我想添加jQuery以使网站具有交互性.我使用StringTemplate移植到.Net,作为我的模板引擎生成html并发送JSON.但是,当我查看页面时,我看不到它.调试之后,我意识到String用于访问属性等$,而jQuery也使用它来操作DOM.哎呀,我看过其他模板引擎,其中大多数使用美元符号:(.
ASP.Net MVC的任何替代模板引擎?我想保留jQuery,因为MSFT宣布它将用于Visual Studio(2008?)
提前致谢 :)
更新
请转到ASP.NET MVC视图引擎比较问题中的答案,获取ASP.NET MVC模板引擎的完整列表,以及它们的优缺点
更新2
最后,我将把JavaScript代码(包括JQuery)放在一个单独的脚本文件中,因此我不担心$
模板文件中的混合.
更新3
更改了标题以反映我需要解决的问题.毕竟"Y中的最佳X"是非常主观的问题.
您当然可以将js逻辑移动到.js文件中.但是,如果您希望它与StringTemplate视图内联,则可以使用\ $构造对其进行转义.
此外,如果要避免转义语法,可以简单地使用jQuery("selector")而不是$("selector")构造.
这是一篇关于在MVC中使用StringTemplate作为View Engine的好文章.
还有一个附带的OpenSource引擎,以及一些样本.
此外,如上所述,您可以修改您的Type Lexer.(使它成为$的替代字符).
我强烈推荐Spark.我现在用jQuery已经使用了一段时间,到目前为止还没有遇到过一个问题.
可以通过使用如下的jQuery关键字来消除JQuery的歧义:
jQuery(
而不是这个:
$(
我认为这是一种最佳做法.它消除了与其他库发生冲突的任何可能性,并使代码更具可读性.
也许jQuery.noConflict会适合你