2011-03-14 4 views
1

J'essaie ComponentOne et j'ai un problème avec jQuery.
Je travaille en ASP.NET donc j'ai un .aspx avec plusieurs contrôles, y compris un panneau de mise à jour pour la page.
J'ai un contrôle TabControl de ComponentOne dans lequel j'ai toutes les informations de ma page. Ces informations utilisent jQuery Calendar et d'autres plugins.
Avant d'importer ComponentOne tout était OK, mais jQuery semble se charger deux fois (en théorie pour ce que j'avais étudié).
Je continue d'obtenir le .datepicker n'est pas une fonction, et je ne peux pas obtenir colorbox pour fonctionner. J'ai tout testé dans un aspx à part et tout fonctionne bien. Quelqu'un at-il une solution pour cela? Merci beaucoup.Utilisation de jQuery avec ComponentOne sur ASP.NET

Un peu de mon code:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> 
<script type="text/javascript" src="/Scripts/jquery-1.5.1.min.js"></script> 
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.8.custom.min.js"></script> 
<script type="text/javascript" src="/Scripts/jquery.datePicker.js"></script> 
<script type="text/javascript" src="/Scripts/jquery.colorbox-min.js"></script> 
<link href="/Styles/jquery-ui-1.8.8.custom.css" type="text/css" rel="Stylesheet" /> 
<link href="/Styles/colorbox.css" type="text/css" rel="Stylesheet" /> 

qui est le contenu de la tête.
J'utilise jquery comme ceci:

$(document).ready(function() { 
     $("#<%=tbFechaIngresoEntrante.ClientID %>").datepicker(); 
     $("#<%=tbFechaAsignacionEntrante.ClientID %>").datepicker(); 
     $("#<%=tbFechaOficioEntrante.ClientID %>").datepicker(); 
     $("#<%=tbFechaSalidaSalientes.ClientID %>").datepicker(); 

    });  

et enfin j'ai tabcontrol définir comme celui-ci avec plusieurs autres contrôles:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
<asp:UpdatePanel runat="server" ID="upTotal"> 
    <ContentTemplate> 
     <asp:Label runat="server" ID="lbPermisos" Text="Usted no tiene permiso para ver esta página." 
      Visible="false"></asp:Label> 
     <div id="divSeguridad" style="margin-left: 200px" runat="server">    
      <cc1:C1TabControl ID="C1TabControl1" VisualStyle="Office2007Blue" runat="server" 
       Height="100%" Width="75%" VisualStylePath="/Styles" SelectedIndex="0"> 
       <TabPages> 
        <cc1:C1TabPage ID="C1TabPage1" Text="Documentación Entrante"> 
+0

Je vois de plus en plus d'entreprises faire cela, cela devient un vrai problème. La valeur par défaut de jQuery que vous ne pouvez pas remplacer devient très fastidieuse à déboguer. –

Répondre

1

contrôles pour ComponentOne ont une propriété appelée UseEmbeddedjQuery Wich est définie sur true par défaut. J'ai essayé de le mettre à false et cela n'a pas fonctionné au début parce que j'avais plusieurs autres contrôles de ComponentOne à l'intérieur du TabControl qui n'étaient pas aussi faux. J'ai changé chaque propriété UseEmbeddedjQuery dans chaque contrôle et fonctionne correctement.

J'ai trouvé cette solution here.

Pour les personnes rencontrant un problème comme celui-ci, la solution est simple: importez votre propre fichier jQuery et définissez la propriété UseEmbeddedjQuery sur false dans tous les contrôles.
Espérons que cela aide quelqu'un.

AJOUTÉE

Une autre solution est de laisser cette propriété vraie et utilisation:
JQR = jQuery.noConflict (true);

Questions connexes