当前位置:  开发笔记 > 编程语言 > 正文

JQuery的$与ASP.Net MVC中的StringTemplate.Net冲突

如何解决《JQuery的$与ASP.NetMVC中的StringTemplate.Net冲突》经验,为你挑选了4个好方法。

我正在探索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"是非常主观的问题.



1> jamisonLikeC..:

您当然可以将js逻辑移动到.js文件中.但是,如果您希望它与StringTemplate视图内联,则可以使用\ $构造对其进行转义.

此外,如果要避免转义语法,可以简单地使用jQuery("selector")而不是$("selector")构造.

这是一篇关于在MVC中使用StringTemplate作为View Engine的好文章.

还有一个附带的OpenSource引擎,以及一些样本.

此外,如上所述,您可以修改您的Type Lexer.(使它成为$的替代字符).


无论如何,使用jQuery而不是$是一个很好的habbit,因为原型和ms ajax库无论如何劫持$,你想明确知道什么是jQuery,什么不是那么好.

2> Chris Canal..:

我强烈推荐Spark.我现在用jQuery已经使用了一段时间,到目前为止还没有遇到过一个问题.


Spark不会与jQuery冲突,因为$只能直接在{expression}前面识别.没有以"$ {"开头的有效jQuery语句.

3> Robert Harve..:

可以通过使用如下的jQuery关键字来消除JQuery的歧义:

jQuery(

而不是这个:

$(

我认为这是一种最佳做法.它消除了与其他库发生冲突的任何可能性,并使代码更具可读性.



4> John Sheehan..:

也许jQuery.noConflict会适合你


我认为这个选项不适用于StringTemplate.Stringtemplate不是JavaScript库.当使用另一个JavaScript库并且该库使用$时,使用noConflict()
为什么不使用"jQuery"而不是"$"
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有