使用ASP.Net AJAX和JQuery的任何缺点

问题描述 投票:12回答:9

我们计划使用jQuery库来增强客户端JavaScript需求。

尝试同时使用ASP.Net AJAX和jQuery有什么重大问题吗?这两个库似乎都将$用于特殊目的。我们需要注意哪些冲突?

我们还使用使用ASP.Net AJAX的Telerik控件。

TIA

jquery asp.net-ajax
9个回答
9
投票

我们在大型项目上使用ASP.NET Ajax,jQuery和Telerik组件已有一段时间了,并且没有任何问题

我肯定会推荐使用jQuery


5
投票

jQuery有一个noConflict()方法作为核心的一部分,但它要求你使用jQuery作为你的命名函数或你选择的其他东西(而不是美元选择器)。但是,我会说这种方法通常依赖于“竞争”库的实现。我曾尝试将它用于Ning社交网络(使用Dojo)和Magento(使用Prototype),我无法使用jQuery。这只是我的个人经历,而其他人则非常成功。

http://docs.jquery.com/Core/jQuery.noConflict


3
投票

ASP.NET Ajax的开发人员采取了特定的步骤来确保库可以与jQuery一起使用。

例如,ATLAS CTP(成为ASP.NET Atlas的beta版)曾经有一个$()函数,但它被删除并替换为$ get()。


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为我们节省了大量时间,更不用说让网站外观和工作更好了。


2
投票

对于它的价值,jQuery的$函数和ASP.NET AJAX的$前缀快捷函数($ get,$ find,$ create等)之间没有冲突。与使用变量f一样,不会阻止您使用名为foo的变量。

在大多数情况下,jQuery和ASP.NET AJAX可以很好地协同工作。在过去的一年中,我唯一一次看到ASP.NET AJAX打破jQuery代码就是this scenario with jDrawer。解决方法虽然不错。


1
投票

我一直在使用ext这是另一个带.net的javascript框架。它比旧式HTML表单控件更容易使用

<input type="text" id="whatever" />

比使用ASP.net表单控件。你可能想要使用酷的javascript框架表单验证,而不是那些内置的.net验证器,但我想这取决于你的偏好

如果您确实想要继续使用.net控件,请记住标记中生成的ID与您定义的ID不同,因此如果您想在JS中使用id引用控件,请使用:

<%=MyControlId.ClientID%>

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的原始帖子。


1
投票

显然,Telerik已经开始从版本Q3开始向他们的一些RadControl添加jQuery。

我同时使用jQuery和RadControls,但没有时间进一步研究这种纠缠......可以双向摆动...... 我有一种全新的感觉,这需要更多的clusterf ***,但这只是基于一些经验和一些这一点;-)

在这个主题上查看Atanas Korchev在Telerik的博客: http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx

当MS,jQuery,Telerik,摩根大通和麦当劳在我们的台式机上混合和混合时,我们都祝你好运... ;-)


1
投票

我已经在ASP.NET Ajax中使用了jQuery,因为它们都做得很好。我从来没有遇到过将两者结合使用的问题。实际上,我通过使用超级强大的jQuery选择器绕过了奇怪的ASP.NET id mishmash。通过能够选择元素的类和子元素(基本上是CSS),它使得它非常容易使用。

© www.soinside.com 2019 - 2024. All rights reserved.