是否将jQuery集成到现有的ASP.NET Web应用程序中?

时间:2020-03-06 14:52:09  来源:igfitidea点击:

微软最近宣布将Javascript / HTML DOM库jQuery集成到ASP.NET MVC框架和ASP.NET/Visual Studio中。

在ASP.NET 2.0中采用jQuery的最佳实践或者策略是什么?我想为jQuery准备一个大型的现有ASP.NET Web应用程序(不是MVC)。我将如何处理版本控制和相关问题?

是否有将jQuery和ASP.NET Ajax集成在一起的警告?还是Telerik或者Intersoft控件之类的第三方组件?

解决方案

David Ward在这里提到了一个小问题:http://encosia.com/2008/09/28/avoid-this-tricky-conflict-between-aspnet-ajax-and-jquery/

但是,关于将jQuery集成到现有应用程序中应该没有什么大的问题,除非我们计划使用jQuery的强大功能计划对现有代码进行大量更新/重做,否则我们不会注意到主要的优势。

对我来说,在使用UpdatePanels和jQuery时会出现问题(MVC没问题,它没有页面生命周期,并且实际上是无状态的)。例如,有用的jQuery惯用语

$(function() {
  // some actions
});

如果页面中有UpdatePanel,则用于增强DOM或者将事件添加到DOM元素的控件可能无法与ASP.NET PostBack模型很好地交互。到目前为止,我使用以下代码段规避了它

if (Sys.WebForms.PageRequestManager) {
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
    $('#updateListView1').trigger("gridLoaded");
  });
}

其中gridLoaded将替代$(document).ready`。

我认为我们必须格外小心并非常了解ASP.NET页面/控件的生命周期,以便将这两种技术混合使用。