我们目前正在开发一些自定义的asp.net服务器控件。现在我们想为其中一些添加一些Ajax支持。现在基本上会有两个选项
我已经使用Control Toolkit工作,编写了一个完整的Extender,一旦你理解了背后的故事,它就非常直观。但我也喜欢jQuery的简单性。
所以我想听听你们中的一些人(他们每个人的优点/缺点),同时考虑到我们主要处理微软技术。你会更多地使用工具包或jQuery,或者两者兼而有之?
//编辑:
我刚做了一些测试,我不得不承认,由于集成,我现在发现Toolkit更好。我的目的主要是在服务器控件上使用它,所以使用工具包我在服务器端有相应的类,我可以做类似的事情
CalendarExtender toolkitCalendarExtender = new CalendarExtender();
toolkitCalendarExtender.TargetControlID....
...
this.Controls.Add(toolkitCalendarExtender);
这非常好,因为通过这种方式,我不必处理渲染预定义的JavaScript,我在自定义服务器控件中以某种方式构造为字符串。使用jQuery我必须这样做(除了提到的toolkit Nicolas,但是在专业环境中使用它的支持太弱了)
非常感谢。
答案 0 :(得分:5)
虽然这些可能不是重点,但我会尝试。 jQuery没有UpdatePanel - 这是一件好事。你的jQuery技能很容易转移到另一个堆栈,如ASP.NET MVC,Django或Rails。我已经看过MS的Ajax文档已经有一段时间了,但jQuery的文档对我来说是一个巨大的因素 - 它非常棒。
我听说有些开发人员使用这两个库,也可能需要考虑一下。
答案 1 :(得分:4)
答案 2 :(得分:3)
我偶尔会同时使用两者。有时MS AJAX Toolkit对于某些事情来说非常方便,有时候它只是一团糟。 jQuery很适合很多东西,但偶尔也会受到限制。
然而,我会在jQuery方面犯错误,因为无论你去哪个平台,jQuery总是适用,因为它完全基于客户端,而MS AJAX Toolkit技能对你决定不会有帮助尝试另一个服务器端平台。答案 3 :(得分:3)
对我来说,只有当jQuery插件不存在时才会使用AjaxControlToolkit。此外,通过使用jQuery控件Toolkit,您可以将jQuery与服务器控件一起使用。在codeplex
上查看一下答案 4 :(得分:3)
JQuery API优于AjaxControlToolkit的原因:
答案 5 :(得分:2)
我认为第一点也是最重要的一点是这两者的用户群。
我认为与Microsoft Ajax相比,jQuery拥有广泛的用户群。所以对jQuery的支持将会更多。
答案 6 :(得分:2)
如果您使用的是WebForms(服务器控件),则应该使用扩展程序来组织脚本并为其提供服务器端存在。鉴于已经存在完整的工具包(Ajax Toolkit),这是最好的选择,但是如果你真的想要使用JQuery,那么编写自己的扩展程序来调用JQuery。 但是,如果您使用的是MVC,那么只需使用裸JQuery;它默认包含在这些应用程序中,并且没有服务器端控件需要服务器端扩展程序才能与之对应。
答案 7 :(得分:1)
我从来没有对ajax工具包感到兴奋。它显得笨重而臃肿。
当我偶然发现jQuery时,我从未回头......
答案 8 :(得分:1)
JQuery使您的应用程序不受ASP.NET版本的影响。我们使用了MS AJAX工具包,我们不得不担心它的版本并看它是否与ASP.NET 2.0等兼容。 我们开始使用JQuery控件,发现我们的应用程序更快,我们的控件可以独立于.NET版本发展。我们甚至可以抛弃.NET而支持PHP,因为我们的大多数东西都是基于WebService的。因此,对于演示文稿,您可以使用带有JQuery的纯HTML页面,而大多数其他内容可以实现为WebServices。
答案 9 :(得分:0)
如果您主要使用Visual Studio在MS Shops中编码,那么工具包是要走的路,您仍然需要知道一些javascript来做一些事情,但在这种情况下,工具包允许真正的快速开发和一些代码背后支持某些控制。也就是说,学习两者都没有伤害,工具包真的是前沿,所以学习曲线很小,在某种程度上主要取决于你对javascript的了解,jquery也是如此。我现在看到的大多数应用程序都使用它们并且它运行得很好,一旦你学到了足够多的东西,你就可以决定在哪里使用...基本上它们都构建了一个更大的工具箱和大工具箱总是一件好事。有
答案 10 :(得分:0)
Web控件是否应该在一定程度上抽象客户端实现?如果是这样,MS是否有可能在某天使用jquery实现Ajax工具包?
Jquery很光滑,我喜欢玩它,但是对于Web控件也有一些非常持久的东西,因为它们的实现可以与客户端技术一起自动更新。