Auf der .Net WebBrowser-Steuerelement ist die einzige Möglichkeit, die ich sehen kann, um eine Seite zu laden, um die URL-Eigenschaft festgelegt. Aber ich möchte stattdessen geben es einige HTML-Code, die ich bereits im Speicher haben, ohne es in eine Datei zuerst zu schreiben. Gibt es eine Möglichkeit, dies zu tun? Oder gibt es irgendwelche Steuerelemente, die dies tun?
Antworten
Zu viele Anzeigen?Sie möchten die DocumentText-Eigenschaft:
http://msdn.microsoft.com/en-us/library/system.Windows.forms.webbrowser.documenttext.aspx
?
von http://www.codeguru.com/forum/showpost.php?p=1691329&postcount=9 : Sie sollten auch ein paar Dinge zur Verfügung stellen:
-
Setzen Sie DocumentText nicht im Konstruktor. Verwenden Sie Form_Load oder Ihre eigene Methode. Wenn Sie DocumentText im Konstruktor setzen, können Sie es nirgendwo in der Anwendung wieder setzen. Vergewissern Sie sich, dass der Formulardesigner ihn auch nicht gesetzt hat.
-
Sie können DocumentText nur einmal pro Methodenaufruf setzen. Das ist merkwürdig und wahrscheinlich ein Fehler, aber es ist wahr. Ein Beispiel: Das Setzen von DocumentText in einer for-Schleife wird nur bei der ersten Iteration der Schleife richtig gesetzt. Sie können jedoch eine kleine Methode erstellen, um DocumentText auf die übergebene Zeichenfolge zu setzen, und diese Methode dann in einer for-Schleife aufrufen.
Sie verwenden entweder WebBrowser.DeocumentText ( http://msdn.microsoft.com/en-us/library/system.Windows.forms.webbrowser.documenttext.aspx ) oder WebBrowser.DocumentStream ( http://msdn.microsoft.com/en-us/library/system.Windows.forms.webbrowser.documentstream.aspx ), um den HTML-Code im aktuellen Dokument zu ändern. Möglicherweise müssen Sie zu about:blank navigieren, wenn Sie kein Dokument haben.