2009-07-13 3 views
0

Ich fange an, mehr und mehr Jquery zu verwenden. Ich arbeite mit Dialogen, und jeder Dialog (einschließlich Javascript) dauert mehr als 20-30 Zeilen Code. Es gibt ein paar Seiten, auf denen ich über 5 Dialoge habe. Das wird schnell hässlich. Ich habe noch nicht einmal begonnen, in Gleitschnittstellen oder Kalendersteuerelemente zu kommen.ASP.NET - Was ist der beste Weg, um zu verhindern, dass jQuery meine ASPX-Dateien überladen?

Ich habe mehr von einem PHP-Hintergrund ... und in diesen Situationen würde ich Dinge in eine "Include" -Datei verschieben. Ich kann sehen, dass für Elemente wie jquery-Dialoge in ASP.NET arbeiten, aber wenn ich jquery Features zu tatsächlichen ASP.NET-Formularelementen hinzufügen .. das wird keine Option sein (soweit ich weiß).

Wie kann ich die zusätzlichen Javascript und extra Floating divs von überfüllen meine ASPX-Dateien zu schade?

Ich bin bereit, die ASPX-Datei in gut dokumentierte, separate Abschnitte zu partitionieren ... dies ergibt nur eine sehr "große" Datei. Irgendwelche besseren Lösungen?

Danke.

Antwort

1

Mal sehen ...

  1. Da Sie jQuery verwenden, müssen Sie das Skript src Syntax wissen bereits, JavaScript-Dateien enthalten, so dass ich nehme an, das ist nicht das Problem :).

  2. Für die lästige verrückt aussehende Steuer-ID, die erstellen ASP.NET ... Cache sie in einem JavaScript globalen Variablen am Ende der Seite ... wie:

    <script> 
        ControlIDs = { 
        SaveButton = '<%=SaveButton.ClientID%>', 
        BlahTextBox = '<%=BlahTextBox.ClientID%>' 
        } 
    </script> 
    

Und in Ihrem separaten jQuery-Code-Datei, tun ...

$(ControlIDs.SaveButton).Whatever() 

3. Anstatt die ASP.NET-Steuerelement-ID zu verwenden, möchten Sie möglicherweise versuchen, den CSS-Klassennamen als Selektor in jQuery zu verwenden, um zu einem bestimmten Steuerelement zu gelangen (Klassenname als Steuerelement-ID behandeln). aber es könnte funktionieren.

Alle diese sollten Ihnen erlauben, ein gewisses Maß an Javascript-Trennung zu tun.

5

Sie könnten den Javascript-Code in separate js-Datei (en) einfügen. Sie verweisen dann auf die js-Datei (en) auf Ihrer Seite.

+1

Bei mir platzieren wir auch die js in Namespaces mit der Seite. Z.B. die Homepage js wäre etwas wie "Home.DoMagic()" – TWith2Sugars

+0

Ich mag diese Idee –

3

Ich bin mir nicht sicher, wie Sie Ihre .NET und Ihr Markup strukturieren, aber ich würde externe JavaScript-Dateien verwenden, um all das zu verarbeiten, kein Inline-JavaScript. So arbeiten wir hier und bisher keine Probleme mit einer guten Trennung von Markup, CSS, JavaScript und .NET.

Wenn Sie bestimmte Arten von Dialogen haben, dann verwenden Sie Klassennamen in Ihrem Markup, dann verwenden Sie in den JavaScript-Include-Dateien Klassen als Ihre Selektoren zum Erstellen der Dialoge.

Verwandte Themen