Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
WebBrowser.DocumentText übernimmt Daten nicht
MoaByter
myCSharp.de - Member



Dabei seit:
Beiträge: 62
Herkunft: Berlin

Themenstarter:

WebBrowser.DocumentText übernimmt Daten nicht

beantworten | zitieren | melden

Hallo,

mit dem WebBrowser-Tool habe ich ein merkwürdiges Problem:
Ich fülle mit meinem Programm ein List<string>-Element mit HTML-Text, das ich zum Schluss als String mit dem Befehl

wb.DocumentText = string.Join(rn, l_htm);   // rn = Zeilenumbruch, Environment.NewLine
in dem WebBrowser anzeigen lassen möchte. Bisher funktionierte das auch problemlos, jetzt geht's auf einmal nicht mehr, WebBrowser.DokumentText zeigt nur einen Leerstring. Wenn ich es Schritt für Schritt durchfahre, stelle ich fest, dass das Programm die Navigation - OnNavigating(...) - mit WebBrowserNavigatingEventArgs.Url = "about:blank" aufruft, dann zurückkehrt ... und das BrwoserDokument bleibt leer.
Ich hatte das früher schon mal und es mit einem nachfolgenden

Thread.Sleep(100);
lösen können, später war letzteres nicht mehr nötig, funktionierte auch so - warum auch immer. Jetzt aber hilft gar nichts mehr. Woran könnte das liegen?
Den Aufruf des Navigating-Events hatte ich, als der Browser noch funktierte, nicht überprüft, warum auch? Es ging ja alles.
Der HTML-Text ist einwandfrei - nur Text, kein Script o.ä. Weiß jemand Rat?

Ein Screenshot anbei.
VG - ...MoaByter
Attachments
private Nachricht | Beiträge des Benutzers
MoaByter
myCSharp.de - Member



Dabei seit:
Beiträge: 62
Herkunft: Berlin

Themenstarter:

beantworten | zitieren | melden

Ähm ... da fehlen ein paar infos:
ich arbeite mit Windows 10, nutze VisualStudioCommunity2017. Ich verwende in meinem Programm mehrere Browser, insgesamt 5 Stück.
Nur bei den 3 Browsern mit eingeschalteter Navigation tritt der Fehler auf, vor ein paar Stunden noch funktionierte es trotzdem.
Wenn ich jetzt auf

AllowNavigation = false;
stelle, ändert das nichts. Ich weiß mir einfach keinen Rat mehr. Es ist, als würde b...

Aha - Fehler vielleicht gefunden, ich änderte die Position des "e.Cancel=true;" im Navi-Event:
Vorher:

private void OnWbNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
	string lnk = e.Url + ";
	e.Cancel = true;
	if (lnk.StartsWith("about:")) return;
	...
}
Nachher:

private void OnWbNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
	string lnk = e.Url + ";
	if (lnk.StartsWith("about:")) return;

	e.Cancel = rue;
	...
}
Mich wundert es etwas, denn ganz vorher stand das "e.Cancel=true;" als

if (link.Contains("about:blank")) e.Cancel = true;
innerhalb des jetzt noch vorhandenen if-Elements. Das müsste das Programm ja nach dem WebBrowser.DocumentText = "xyz" auch durchlaufen haben.
Vielleicht hat jemand einen Tipp dazu? Das wäre sehr nett, Danke!

VG - ...MoaByter
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MoaByter am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.761

beantworten | zitieren | melden

Ich denke, dass Du mit WebBrowser-Tool die WebBrowser-Klasse meinst.
Diese ist seit 100 Jahren veraltet und seit bestimmt 10 Jahren ist bekannt, dass das Ding nicht mehr verwendet werden soll.
Alternativen: Einführung in Microsoft Edge WebView2 - Microsoft Edge Development
private Nachricht | Beiträge des Benutzers
MoaByter
myCSharp.de - Member



Dabei seit:
Beiträge: 62
Herkunft: Berlin

Themenstarter:

beantworten | zitieren | melden

Danke für deine Antwort, meine kommt etwas spät, hatte viel anderes zu tun, Scusi.

Ich habe die Seiten über WebView2 mal angesehen, blicke aber noch gar nicht durch. Ich habe das Nuget-Paket zwar installiert, aber wie der WebBrowser lässt's sich nicht einbinden; bei den Tools taucht's jedenfalls nicht auf. Ich werd' mal weiter lesen, vielleicht kommt mir ja noch die Erleuchtung.
Ich bin mir auch nicht sicher, ob der Aufwand lohnt, denn der WebBrowser isz nur zum Anzeigen interner Daten(listen) zuständig, er soll nicht ins Web.

Ja, WebBrowser-Klasse. Steht unter "Tools" und ist somit für mich eben auch ein Tool.
private Nachricht | Beiträge des Benutzers