一起使用ASP.Net AJAX和JQuery的任何缺点
我们计划使用JQuery库来满足我们的客户端JavaScript需求。
尝试同时使用ASP.Net AJAX和JQuery是否有任何重大问题?这两个库似乎都将$用于特殊目的。有什么需要我们注意的冲突吗?
我们还使用使用ASP.Net AJAX的Telerik控件。
TIA
解决方案
回答
jQuery的核心部分有一个noConflict()方法,但是它要求我们或者使用jQuery作为命名函数,或者使用其他选择(而不是美元选择器)。但是,我要说的是,该方法通常取决于"竞争"库的实现。我曾尝试将其用于Ning社交网络(使用Dojo)和Magento(使用Prototype),但我都无法使用jQuery。这只是我的个人经历,其他人都非常成功。
http://docs.jquery.com/Core/jQuery.noConflict
回答
我们已经在一个大型项目中使用ASP.NET Ajax,JQuery和Telerik组件已有相当一段时间了,并且没有任何问题
我绝对会推荐使用JQuery
回答
ASP.NET Ajax的开发人员采取了特定步骤来确保该库可以与JQuery结合使用。
例如,ATLAS CTP(即成为ASP.NET Atlas的beta)曾经具有$()函数,但已将其删除并替换为$ get()。
回答
我一直在使用ext,它是.net的另一个JavaScript框架。它比老式的HTML表单控件更容易使用
<input type="text" id="whatever" />
比起使用ASP.net表单控件。我们可能想使用很酷的javascript框架表单验证,而不是内置的.net验证器也不是那么好,但是我想这取决于偏好
如果我们确实想继续使用.net控件,请记住标记中生成的ID与我们定义的ID不同,因此,如果要在JS中按ID引用控件,请使用:
<%=MyControlId.ClientID%>
回答
缺点之一是服务器端控件可以重命名,具体取决于它们的容器。例如,我们可能有:
<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节省了我们很多时间,更不用说使网站外观和工作更好。
回答
就其价值而言,jQuery的$函数与ASP.NET AJAX的$前缀快捷功能($ get,$ find,$ create等)之间没有冲突。就像使用变量f一样,并不能阻止我们使用名为foo的变量。
在大多数情况下,jQuery和ASP.NET AJAX可以很好地协同工作。在过去的一年中,我唯一看到ASP.NET AJAX打破jQuery代码的就是使用jDrawer的这种情况。解决方法还不错。
回答
与这个问题有关的最新发展:
Scott Guthrie在2008年9月28日发布(请参阅:http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx),Microsoft实际上将开始使用Visual Studio交付JQuery。默认情况下,MVC项目将包括该库。 Scott表示这是在JQuery团队的同意和鼓励下完成的。
有关详细信息,请参见原始帖子。
回答
显然,从版本Q3开始,Telerik已开始将jQuery添加到其某些RadControl中。
我同时使用了jQuery和RadControls,但还没有时间进一步研究这种纠缠...可能会双向摇摆...。
我有种种感觉,那就是需要更多的clusterf ***,但这只是基于对其中一些知识的一般经验;-)
查看Teleana上Atanas Korchev的博客,内容与此有关:
http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx
当我们将所有MS,jQuery,Telerik,JP Morgan和McDonalds混在一起并混搭在我们的桌面上时,这对我们所有人来说都是最幸运的事情;
回答
我已经将jQuery与ASP.NET Ajax一起使用,因为它们都能很好地完成不同的事情。我从来没有过一起使用两者的问题。实际上,我通过使用超强大的jQuery选择器来解决怪异的ASP.NET id mishmash。通过能够选择元素的类和子元素(基本上是CSS),它变得非常易于使用。