12

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

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

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

TIA

4

9 回答 9

9

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

我肯定会推荐使用 jQuery

于 2008-09-15T18:45:12.883 回答
5

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

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

于 2008-09-15T18:02:14.063 回答
3

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

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

于 2008-09-15T22:47:41.660 回答
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 为我们节省了大量时间,更不用说让网站看起来和工作得更好了。

于 2008-09-15T23:22:55.633 回答
2

无论如何,jQuery 的 $ 函数和 ASP.NET AJAX 的 $ 前缀快捷函数($get、$find、$create 等)之间没有冲突。就像使用变量f一样,不会阻止您使用名为 foo 的变量

在大多数情况下,jQuery 和 ASP.NET AJAX 可以很好地协同工作。在过去的一年中,我唯一一次看到 ASP.NET AJAX 破坏 jQuery 代码是使用 jDrawer 的这种场景。不过,解决方法还不错。

于 2008-09-16T23:05:20.800 回答
1

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

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

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

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

<%=MyControlId.ClientID%>
于 2008-09-15T22:53:39.510 回答
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 团队的同意和鼓励下完成的。

请参阅原始帖子以获取完整详细信息

于 2008-09-29T21:16:43.910 回答
1

显然,Telerik 已经开始将 jQuery 添加到他们的一些 RadControls 中,从发布 Q3 开始。

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

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

当 MS、jQuery、Telerik、JP Morgan 和 McDonalds 都在我们的桌面上混杂在一起时,祝我们所有人好运...... ;-)

于 2008-11-23T11:33:35.147 回答
1

我已经将 jQuery 与 ASP.NET Ajax 一起使用,因为它们都可以很好地完成不同的事情。我从来没有遇到过将两者一起使用的问题。事实上,我通过使用超级强大的 jQuery 选择器绕过了奇怪的 ASP.NET id mishmash。通过能够选择元素的类和子元素(基本上是 CSS),它非常易于使用。

于 2009-02-15T00:10:17.043 回答