2012-09-13 41 views
3

我正在開發一個MVC 3.0剃鬚刀應用程序。在我的項目中,我們使用jQuery版本1.7.1。對於telerik的擴展,我們使用的是jquery ver 1.6.4。我們還在項目的某個部分使用Kendo UI網格,這需要jQuery版本1.7.1。我們按照以下順序將腳本放置在佈局頁面中。jquery衝突,同時使用telerik擴展和kendo ui

<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/kendo.all.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")" type="text/javascript"></script> 
    @(Html.Telerik().ScriptRegistrar().jQuery(false) 
    .DefaultGroup(
     grp => 
     { 
      grp.Add("jquery-1.6.4.js"); 
      grp.Add("jquery-ui-1.8.17.custom.js"); 
      grp.Add("telerik.common.min.js"); 
      grp.Add("telerik.upload.min.js"); 
      grp.Add("telerik.window.min.js"); 
      grp.Add("telerik.draganddrop.min.js"); 
      grp.Add("telerik.grid.min.js"); 
      grp.Add("telerik.grid.editing.min.js"); 
      grp.Add("telerik.grid.filtering.min.js"); 
      grp.Add("telerik.grid.reordering.min.js"); 
      grp.Add("telerik.grid.resizing.min.js"); 

      grp.Add("telerik.datetimepicker.min.js"); 

      grp.Add("telerik.treeview.min.js"); 

     })) 

在這種情況下,所有Telerik的一些推廣CONTROLES和相關客戶端事件(例如:Telerik的面板條的ONSELECT事件)將工作,但劍術UI網格控制犯規負載數據。但是,如果我們在Html.Telerik()。ScriptRegistrar()中評論jQuery 1.6.4版,kendo ui將加載數據,但telerik擴展客戶端事件不起作用。請提供解決方案。

+0

你有沒有嘗試jQuery的noConflict模式? –

+0

我在kendo ui網格視圖頁面中提供了jQuery.noConflict()。但它不會加載數據。問題依然存在。 – Jayaraj

+0

我不知道劍道much.no jQuery的衝突將幫助你釋放$並用別的東西代替它。所以如果劍道使用$,那麼noConflict可以幫助你。否則你有一些不同的衝突。 –

回答

0

首先 - 您不能在同一頁面上使用多個jQuery,並期望小部件能夠工作。每次加載jQuery時,數據和事件都會從內存中清除,這意味着已註冊的小部件將不再可用。

我建議你更新你的MVC擴展(經典的)到最新版本,我可以在演示網站中看到它使用jQuery 1.7.1。另外KendoUI框架的當前版本是1.7.1版本,它仍然不是1.8+。