wie bindet man JavaScript-Funktion mit OnClientClick-Ereignis mit Eval?

8

Mein Link-Button -

%Vor%

und das Javascript msgDisp ist -

%Vor%

aber es wird nicht LocationId in Pop ausgegeben, sondern die gesamte Zeichenfolge & lt;% # ......% & gt; kommt in Popup-Nachricht. Wie kann ich Eval-Werte in Javascript übergeben.

    
ppp 30.09.2010, 10:27
quelle

5 Antworten

12

Sie können den gesamten Inhalt von OnClientClick als String innerhalb der Code-Klammern erstellen und er wird so ausgegeben, wie Sie es erwarten.

%Vor%

Dies setzt voraus, dass LocationId eine gültige Zahl ist - es gibt keine Anführungszeichen, um den Wert beim Rendern zu umbrechen. Daher wird die Ausgabe von msgDisp(hello); abgebrochen. Ich weiß nicht, wie ich das auf diese Weise angehen soll. Wenn Sie das tun müssen, würde ich empfehlen, OnClientClick server side während des ItemDataBound -Ereignisses zu setzen. Hier ist, was es möchte, wo der Elternteil eine Repeater Kontrolle ist.

%Vor%     
lincolnk 30.09.2010 13:45
quelle
2

Wenn Sie Ihre bindenden Expression-Tags (& lt;% # ...% & gt;) im Markup erhalten, bedeutet dies, dass Ihr LinkButton nicht in einem Binding-Container initialisiert wurde. Ein bindender Container kann, wie @lincolnk gezeigt hat, ein Repeater- oder GridView-Element, eine Kalenderzelle usw. sein. Außerdem muss der Funktionsaufruf nicht mit "javascript:" vorangestellt werden. Der Wert der OnClientClick-Eigenschaft wird als Handler des onclick -Ereignisses des Ankers gerendert.

    
bugventure 30.09.2010 18:36
quelle
2

Sah überall im Netz. Jeder sagt CodeBehind verwenden. Siehe meine Lösung, die auch funktioniert, wenn mein Datenwert ein einfaches Zitat wie O'Neal enthält. Dies funktioniert nicht, wenn Ihr Datenelement doublequotes enthält . Aber arbeitet für das, was ich es tun musste, was im Namen einer Person passierte. Beachten Sie die umgekehrten Schrägstriche innerhalb des Alarmanrufs.

%Vor%     
Edmund 18.01.2013 21:04
quelle
1

Sie können es tun   OnClick = '& lt;% # "msgDisp (" + Eval ("LocationId") + ");" % & gt; '

    
Minhaj 19.01.2015 08:09
quelle
0

Ich möchte Lincolnk für seine Antwort danken. Ich helfe gerade dabei, ein neues soziales Netzwerk für googam.com aufzubauen. Ich habe nach ein paar Tagen gesucht, um eine Lösung zu finden, um das Profil eines Benutzers in einem Datenlisten-Popup in einem jquery modalen Dialog anzuzeigen. Durch das Setzen der Verknüpfungsschaltfläche OnClientClick im ItemDataBound-Ereignis wurde das Problem gelöst, dass die Benutzer-ID an die JQuery-Funktion übergeben wurde, um ein Acsx-Benutzersteuerelement im Popup-Fenster zu öffnen.

%Vor%

//////////////

%Vor%     
user2661454 22.08.2013 20:05
quelle