Unterschied zwischen InnerHTML- und InnerText-Eigenschaft von ASP.Net-Steuerelementen?

8

Bei Verwendung von ASP.NET-Steuerelementen, z. B.

%Vor%

Wenn wir den Text der Kopfzeile ändern wollen, können wir es wahrscheinlich mit den zwei Eigenschaften InnerHTML und InnerText machen. Ich möchte wissen, was der grundlegende Unterschied zwischen den zwei Eigenschaften ist?

    
techfun 16.10.2013, 20:51
quelle

3 Antworten

12

InnerHtml lässt Sie HTML-Code direkt eingeben, InnerText formatiert alles, was Sie dort eingeben, damit es als einfacher Text verwendet werden kann. Zum Beispiel, wenn Sie dies in beiden Eigenschaften eingeben: Hello <b>world</b>

Das würden Sie mit InnerHTML bekommen:

  

Hallo Welt

Das ist genau der gleiche HTML-Code, den Sie eingegeben haben.

Wenn Sie InnerText verwenden, erhalten Sie stattdessen Folgendes:

  

Hello <b>world</b>

Und das resultierende HTML wäre Hello &lt;b&gt;world&lt;/b&gt;

    
Yandros 16.10.2013, 20:54
quelle
1

Gehen Sie im Zweifelsfall zur Quelle (oder dekompilieren Sie sie):

In HtmlContainerControl :

%Vor%

Beide Eigenschaften verwenden letztlich InnerHtml , aber die Einstellung InnerText HTML codiert den Wert so, dass er im Browser buchstäblich angezeigt und nicht als Markup interpretiert wird.

Beachten Sie, dass die Zuweisung zu InnerHtml den Wert nicht codiert und daher alle benutzergesteuerten Inhalte vor der Zuweisung bereinigt werden sollten.

Dies betont auch, wie wichtig es ist, den Ansichtszustand zu beachten (beachte die letzte Zeile von InnerHtml 's Setter; alles endet im Ansichtszustand, ob du es brauchst oder nicht).

    
Tim Medora 16.10.2013 21:10
quelle
0

InnerHtml ermöglicht das Einfügen von html-formatiertem Text in einen HTML-Container, während InnerText nur reinen Text erlaubt (wenn ich mich richtig erinnere, schneidet diese Eigenschaft jeden HTML-Typ ab, den Sie einfügen)

  1. InnerHtml. Ссылка
  2. Innerer Text. Ссылка
Gonzix 16.10.2013 21:00
quelle

Tags und Links