2017-04-11 2 views
0

während Zeichenfolge in CS- verketten, Titel Anker zeigt bis zum Apostroph (‘) blieb TextTitel Anker zeigt Text bis Apostroph (‚), während Verketten

string tempText = "He hasn't returned my call."; 
html = string.Concat(html, "<a title=" + tempText + ">hello</a>"); 

Ausgabe übersprungen wird: Er hasn

+0

stellen Sie sicher, können Sie den Code ohne kompiliert werden n Fehler. – kennyzx

+0

@kennyzx Ich habe meinen Code aktualisiert und es ist korrekt. – Abhijeet

Antwort

1

Verwendung HTML-Codierung verwenden:

string tempText = "He hasn't returned my call."; 
string htmlEnc = Server.HtmlEncode(tempText); 
html = string.Concat(html, "<a title=" + htmlEnc + ">hello</a>"); 

Weitere Informationen: https://www.dotnetperls.com/htmlencode-htmldecode

-1

Ihre Frage ist nicht ganz klar, aber wenn Sie ein Apostroph für die Anzeige in einer Webseite kodieren möchten, sollten Sie &apos;

string tempText = "He hasn&apos;t returned my call."; html = string.Concat(html, "hello"); 
2

Sie vergessen nur " auf Titel Attribut zu setzen:

string tempText = "He hasn't returned my call."; 
html = string.Concat(html, "<a title=\"" + tempText + "\">hello</a>"); 
+0

Es ist immer noch eine gute Idee, HTML-Escaping hinzuzufügen, so dass es kein Problem gibt, wenn der TempText doppelte Anführungszeichen enthält. – NineBerry

+0

Sie sind bei @NineBerry richtig – Abhijeet

0

Zu allererst Sie fehlen Zitate in den HTML-Tag-Parameter hinzuzufügen. Nehmen Sie diese Änderung Anführungszeichen am Anfang und am Ende des Parameterwert hinzuzufügen:

string tempText = "He hasn't returned my call."; 
html = string.Concat(html, "<a title=\"" + tempText + "\">hello</a>"); 

Zusätzlich werden alle Text, den Sie in HTML setzen durch HTML gehen sollte zu entkommen, so dass

1 Sie keine Syntax

Probleme

2 Sicherheitsprobleme, die von einem Angreifer die Einbettung der hTML-Syntax in einer Eingabezeichenfolge entstehen, werden

verhindert
string tempText = "He hasn't returned my call."; 
html = string.Concat(html, "<a title=\"" + HttpUtility.HtmlEncode(tempText) + "\">hello</a>");