2012-04-12 8 views
-1

Ich versuche, eine JavaScript-Funktion mithilfe von response.write in einer Aspx-Seite zurückzugeben. Das Problem ist, dass die Funktion, die ich zurückgebe, viele Anführungszeichen hat und sie mit der repsonse.write-Syntax in Konflikt stehen. Hier ist ein Beispielcode:Zurückschreiben einer Funktion durch Response.Write()

Dies gibt mir ein Problem, wie die Zitate im Inneren die Antwort früh abschneiden. Gibt es einen besseren Weg, dies zu tun?

+0

Warum schreiben Sie es nicht einfach in das ASPX-Markup. – McGarnagle

+0

Haben Sie versucht, die Anführungszeichen zu umgehen? Wie: 'Response.Write (" Wenn hallo.StartsWith (\ "H \", ... ') oder Sie könnten sogar ein einzelnes Anführungszeichen verwenden, um die interne Funktion zu umbrechen:' Response.Write ('If hello.StartsWith ("H") , ... dann '); ' – faino

+0

was genau ist das aspx Markup? Ich brauche diese Antwort innerhalb einer Funktion geschrieben werden, so kann ich nicht genau die Code-Blöcke verwenden, wenn das, was du meinst –

Antwort

0

Sie können „mit einzelner qoute" in Ihrem Javascript, wie in Javascript sowohl“und" das Gleiche tun und C# Doppel qoute ersetzen wird nicht einzelne qoute Objekt, sondern könnte die Registerclient beste Option sein.

0

nicht der beste Ansatz, RegisterClientScriptBlock ist besser, aber dies gegeben arbeiten Sie JavaScript nicht VB.NET-Code emittieren:

Response.Write("<script>alert('test');</script>") 

Hinweis: Wenn Sie Strings entkommen müssen in Google eine einfache Suche zu tun oder diese Seite und alles wird gut.

+0

ich verstehe nicht, wie dies um das doppelte Zitat geht Ausgabe –

+0

Es ist nicht, suchen, diese Frage wird auf dieser Website beantwortet. –

0
Use chr(34) for quote as shown below to create a string of js function: 

sJavaScript = sJavaScript & vbTab & vbTab & "if(TheForm." 
sJavaScript = sJavaScript & "FieldName" & ".value == " & Chr(34) & Chr(34) 
sJavaScript = sJavaScript & ")" & vbCrLf & vbTab & vbTab & vbTab & "{" & vbCrLf 
0

Wenn die Funktion, die Sie ausgeben Javascript ist, dann ein Ansatz ist stattdessen einfache Anführungszeichen zu verwenden. Aus der Perspektive von JavaScript sind einfache und doppelte Anführungszeichen für String-Literale mehr oder weniger austauschbar (obwohl ich sicher bin, dass es Fälle gibt, in denen das nicht stimmt - ich kenne JavaScript einfach nicht gut genug, um zu sagen, was sie sind).

Response.Write("  If hello.StartsWith('H', ... 
Verwandte Themen