2010-11-20 46 views
2

Ich versuche, jQuery in einer ASP.NET-Website enthalten, die auch DexExpress Steuerelemente verwendet, aber egal, wie ich meinen Skript enthalten, ist die $ Funktion immer anonymous und die jQuery Funktion ist nicht definiert. Ich vermute, das DevExpress "plumbing" Skript überschreibt jQuery.Mit jQuery mit DevExpress

Alles, was ich mir ansehen sollte?

Antwort

2

Das Problem hier war URL-Auflösung für Skripts, kein Konflikt. Die Verwendung von Datenbindungsausdrücken anstelle von Code-Render-Blöcken löste dieses Problem. Auszüge aus meiner Masterseite:

<head id="Head1" runat="server"> 
    <title>Smart Computer Solutions</title> 
    <script src="<%# ResolveUrl("~/Scripts/jquery-1.4.4.js")%>" type="text/javascript"></script> 
</head> 

Und Code-Behind:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.Header.DataBind(); 
} 
0

Haben Sie versucht, JQuery.noConflict() zu verwenden? Dadurch können Sie JQuery in eine andere Variable als die Variable $ verschieben und Konflikte wie diese lösen.

+1

ich ditched schließlich DevExpress. Dieses Projekt ist viel zu dünn, um so viel Lernzeit zu investieren. – ProfK

+0

@ProfK - die Technik, die ich oben beschrieben habe, ist die, die ich verwendet habe, um Konflikte zwischen DevExpress und JQueryUI (und JQuery der Reihe nach) zu lösen, also würde es mit minimalem Problem gearbeitet haben. – Moo