我们计划使用jQuery库来增强客户端JavaScript需求。
尝试同时使用ASP.Net AJAX和jQuery是否存在任何重大问题?这两个库似乎都将$用于特殊目的。我们需要注意哪些冲突?
我们还使用使用ASP.Net AJAX的Telerik控件。
TIA
答案 0 :(得分:9)
我们在大型项目上使用ASP.NET Ajax,jQuery和Telerik组件已有一段时间了,并且没有任何问题
我肯定会建议使用jQuery
答案 1 :(得分:5)
jQuery有一个noConflict()方法作为核心的一部分,但它要求你使用jQuery作为你的命名函数或你选择的其他东西(而不是美元选择器)。但是,我会说这种方法通常依赖于“竞争”库的实现。我曾尝试将它用于Ning社交网络(使用Dojo)和Magento(使用Prototype),我无法使用jQuery。这只是我个人的经历,其他人都非常成功。
答案 2 :(得分:3)
ASP.NET Ajax的开发人员采取了特定的步骤来确保该库可以与jQuery一起使用。
例如,ATLAS CTP(成为ASP.NET Atlas的测试版)曾经有一个$()函数,但它被删除并替换为$ get()。
答案 3 :(得分:2)
一个缺点是服务器端控件可以重命名,具体取决于它们的容器。例如,您可能有:
<asp:panel id="panel1" runat="server"></asp:panel>
这可以作为以下内容呈现给页面:
<div id="ctl00$panel1"></div>
因此,如果使用$('#panel1')
作为选择器编写jQuery,它将无效。解决这个问题的方法是动态生成id,例如:
Dim js as String = "$('" & panel1.ClientID & "').whatever();"
这可能会使javascript有点不可读,但它确实很有效。我使用这种方法处理大型Web应用程序,jQuery为我们节省了大量时间,更不用说让网站外观和工作更好了。
答案 4 :(得分:2)
对于它的价值,jQuery的$函数和ASP.NET AJAX的$前缀快捷函数($ get,$ find,$ create等)之间没有冲突。与使用变量 f 相同并不会阻止您使用名为 f oo的变量。
jQuery和ASP.NET AJAX在大多数情况下都能很好地协同工作。在过去的一年中,我唯一一次看到ASP.NET AJAX打破jQuery代码的时间是this scenario with jDrawer。但解决方法并不差。
答案 5 :(得分:1)
我一直在使用ext这是另一个带.net的javascript框架。它比旧式HTML表单控件
更容易使用<input type="text" id="whatever" />
比使用ASP.net表单控件。您可能希望使用酷的javascript框架表单验证,而不是使用内置的.net验证器,但我认为这取决于您的偏好
如果您确实想继续使用.net控件,请记住标记中生成的ID与您定义的ID不同,因此如果您想在JS中使用id引用控件,请使用:
<%=MyControlId.ClientID%>
答案 6 :(得分:1)
与此问题相关的最新发展:
Scott Guthrie于2008年9月28日发布(参见:http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx),微软实际上开始使用Visual Studio 开始发布JQuery。 MVC项目默认包含库。 Scott表示,这是在JQuery团队的同意和鼓励下完成的。查看full details的原始帖子。
答案 7 :(得分:1)
显然,从第3版发布开始,Telerik已开始向其部分RadControl添加jQuery。
我同时使用jQuery和RadControls,但没有时间进一步研究这种纠缠......可以双向摆动....
我有一种全新的感觉,这需要更多的clusterf ***,但这只是基于对其中一些的一般经验和一点点的内容; - )
在Telerik上查看Atanas Korchev关于此主题的博客:
http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx
答案 8 :(得分:1)
我已经在ASP.NET Ajax中使用了jQuery,因为它们都做得很好。我从来没有遇到过将两者结合使用的问题。实际上,我通过使用超级强大的jQuery选择器绕过了奇怪的ASP.NET id mishmash。通过选择元素的类和子元素(基本上是CSS),它可以非常容易地使用。