2008-12-16 13 views
13

ich einfach jQuery zu bekommen versuchen, auf meiner Seite Inhalt ohne Glück unten auszuführen ist, was ich zu tun versucht:jQuery in einer ASP.net MVC-Anwendung unter Verwendung von Masterseite

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> 

    <script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script> 
    <script type="text/javascript"> 

     $(document).ready(function() { 
      alert("hi"); 
     }); 
    </script> 

</asp:Content> 

ich auch versucht habe, die folgenden Weg zur Arbeit:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> 

    <script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function onload() 
     { 
      $("#myDiv").css("border", "1px solid green"); 
     } 
    </script> 

    <div id="myDive"> 
     Hello 
    </div> 

</asp:Content> 
+0

Sie den jquery Skript Verweis in der Masterseite HEAD-Bereich setzen sollten statt auf der Inhaltsseite (ich realisiere, dass Sie es wahrscheinlich nur für ein Beispiel hier setzen und das wahrscheinlich schon wissen) –

Antwort

35

Es kann sein, dass die JQuery-Datei nicht gefunden werden kann, versuchen Sie dies für die Skript Referenz:

<script src="<%= Url.Content ("~/Scripts/jquery-1.2.6.js") %>" type="text/javascript"></script> 

Der Url.Content erstellt den richtigen Pfad unabhängig davon, ob die App im Stammverzeichnis oder in einem Unterverzeichnis ausgeführt wird.

Auch, wenn Sie den Hot-Fix für das JS intellisense installiert haben, können Sie diese zusätzlich zu den oben verwenden:

<% if (false) { %> 
    <!-- Don't wrap this is a Url.Content call, it's like this so we get intellisense! --> 
    <script src="../../Scripts/jquery-1.2.6-vsdoc.js" type="text/javascript"></script> 
<% } %> 

Edit:

Seit der Veröffentlichung der RC 1 Refresh, wird es einen Know Bug über Elemente mit Codeblöcke im Header platzieren, hat Philip Haacked einen schönen article über es zu lösen ...

Edit 2:

Offenbar hat dies behoben seit RC 2 veröffentlicht wurde ...

• Code-Nuggets, die direkte Kinder des Kopfelementes sind keine Ausnahme verursachen, wenn die runat = „server“ -Attribut hinzugefügt wird zu ihnen.

bearbeiten 3:

Die Hot-Fix verwiesen früher ist nur für VS2008 und ist here - schauen Sie sich die Blog-Post von der VS Web Dev Team here für weitere Einzelheiten. VS2010 hat es eingebaut.

+1

Danke. Dies ist ein guter Tipp für das Reparieren von Masterseiten in einer MVC-Site, die ** Bereiche ** verwendet. – JustinStolle

0

Versuchen Sie, die Javascript-Referenzen in Ihre Masterseite zu setzen. Dann müssen Sie sich keine Gedanken darüber machen, die Skripts mehrmals zu laden.

0

Haben zu verwenden, um die Website direkt zu veröffentlichen, aber es ist ein Schmerz, wenn Sie mit einem Designer arbeiten, die nur wissen, wie Photoshop und Dreamweaver verwenden

Verwandte Themen