2009-07-08 17 views
2

ich das folgende Skript zu meiner asp.net MasterseiteSkript ausführen einmal für eine Seite

$(function() { 

     $("#someDiv").someMethod(900, { 
       chars: /\s/, 
       doit: [" (<a href='#' onclick='window.location.reload(true);' class='truncate_show'>more</a> . . .)", " (. . . <a href='#' class='truncate_hide'>less</a>)"] 
      }); 


     }); 

jetzt hinzugefügt haben, wenn die Seite geladen ersten Mal habe ich den Link ‚Mehr‘ zu sehen. Beim Klicken auf "Mehr" erscheint ein Postback und erneut wird das Skript ausgelöst. Ich möchte mit der Ausführung des Skripts aufhören, wenn auf "mehr" geklickt wird und die Seite neu geladen wird.

Antwort

3

Wenn Sie das nur beim ersten Laden der Seite einrichten möchten, können Sie es unter innerhalb einer !IsPostBack Bedingung durch ClientScript.RegisterStartupScript() ausgeben.

Letztlich könnte es besser sein, wenn Sie die show/hide-Funktionalität auf der Client-Seite vollständig beibehalten könnten. Es ist immer schwierig, die Grenzen zwischen Client und Server zu ziehen.

Wenn das nicht hilfreich ist, aktualisieren Sie Ihre Frage mit ein wenig mehr Code, und vielleicht kann ich Ihnen eine spezifischere Antwort geben.

+0

Danke Dave, ich habe dir den Code geschickt. – lols

0

Versuchen Sie changing the default behavior of the link nicht tatsächlich auftreten, so dass Sie nur die onclick Ereignis erhalten und auch vielleicht, nachdem Sie das Ereignis auslösen versuchen, lösen Sie mit .die() (aber Sie werden wahrscheinlich nicht brauchen, nachdem Sie den Link aus zu stoppen)

Check out Events/sterben in der jQuery-Dokumentation.

Verwandte Themen