jQuery serverseitige DOM-Manipulation

8

Weiß jemand, ob es möglich ist, die Macht von JQuery auf der .Net-Server-Seite zu nutzen?

Zum Beispiel habe ich etwas HTML als String in irgendeinem Code dahinter. Gibt es eine Möglichkeit, JQuery darauf auszuführen?

Ich mache das zur Zeit ...

Angenommen, das ist der String ...

%Vor%

Mein C # macht das

%Vor%

Und so binde ich meine Daten an meinen HTML-Code.

Nun, was ich tun möchte, ist anstatt den # firstNameValue # als Platzhalter hinzuzufügen und ihn zu ersetzen Ich möchte irgendwie eine Zeile von JQuery auf der HTML-Zeichenfolge in meinem C # -Code ausführen.

%Vor%

Was sind meine Möglichkeiten hier?

    
ctrlShiftBryan 02.03.2010, 18:37
quelle

6 Antworten

4

Für alle Absichten und Zwecke lautet die Antwort "nein" (obwohl es vielleicht einen obskuren Weg gibt, dies zu handhaben, ist es nicht der optimale Weg).

Es scheint, dass Sie nach einer Möglichkeit suchen, den HTML-Code zu manipulieren, der auf der serverseitigen -Seite erzeugt wird. Dies ist ein sehr legitimer Wunsch, es ist nur der Ansatz auf der Serverseite. NET (oder andere) Technologien unterscheiden sich radikal von der Vorgehensweise auf der Clientseite.

Da der Inhalt bereits auf dem Client gerendert wurde, ist die Art und Weise, wie Sie ihn modifizieren würden, anders. Auf dem Server besteht die Seite aus verschiedenen Teilen, die den HTML-Code schließlich dem Client rendern. Dabei werden Daten verwendet, auf die der Client nicht unbedingt zugreifen muss (ebenso wie Ressourcen und Bibliotheken).

Aus diesem Grund möchten Sie verwenden, was auf dem Server verfügbar ist, um das zu erreichen, was Sie tun.

Unabhängig davon, ob Sie das WebForms- oder das MVC-Modell von ASP.NET verwenden, gibt es Mechanismen, mit denen Sie Daten binden können, ohne das Tag selbst ausschreiben zu müssen.

Beispielsweise haben Sie im WebForm-Modell die TextBox-Klasse , mit dem Sie die Eigenschaft Text weiter.

In ASP.NET MVC gibt es die TextBox-Erweiterung Methode auf der InputExtensions-Klasse , die Ihnen erlaubt Übergeben Sie den Inhalt des Textfelds und die Methode wird das Tag für Sie rendern.

    
casperOne 02.03.2010 18:46
quelle
1

Vielleicht möchten Sie das HTML-Agilitätspaket. Sie können JavaScript nicht ausführen, aber Sie können einige DOM-Manipulationen vornehmen. Probieren Sie es Ссылка .

    
MarianoC 12.03.2014 11:16
quelle
1

Verwenden Sie jQuery mit jsdom für Node.js. Einfachste Möglichkeit, DOM-Elemente mit Javascript auf der Serverseite zu manipulieren.

    
Vin 16.07.2014 09:30
quelle
0

Das DOM ist eine Browser-spezifische Entität. Also nicht direkt verfügbar wie du suchst. Sie können jedoch genau festlegen, was Sie bearbeiten möchten, und entweder .live() oder den Aufruf Ihres jQuery-Codes verwenden, um beim Hinzufügen von Elementen Verhaltensweisen hinzuzufügen. Wie für die Änderung:

%Vor%

wird ausgelöst, wenn es sich beispielsweise ändert. EDIT: Eine andere Möglichkeit ist, dass der Client die Daten mit Ajax und JSON zieht - aber das ist eine kleine Veränderung in Ihrer Arbeitsweise.

    
Mark Schultheiss 02.03.2010 18:56
quelle
0

Nun, das ist die Antwort für Java. Hier und Hier Zur Verfügung gestellt von einem Typen namens John Resig. (Ich bin mir nicht sicher, ob er weiß, worüber er spricht, wenn es um JQuery geht ... wink zwinker)

Was ist nun mit .Net?

    
ctrlShiftBryan 02.03.2010 19:21
quelle
-1

Diese Technologie, ItsNat , ist Ihren Wünschen sehr ähnlich, die schlechten Nachrichten ... basieren auf Java.

    
jmarranz 18.01.2011 15:41
quelle