beckslevel91
Goto Top

VB 2008 Express - Browser (URI-Problem)

Hallo, ich bin gerade dabei, einen Webbrowser mit Visual basic 2008 Express zu basteln...

und habe folgendes Problem. Wenn ich in eine Textbox (für die URL) z. B. " http://www.google.de " eingebe, dann findet er diese Seite auch, das funktioniert schonmal..
Wenn ich aber nur "google.de" eingebe, dann bricht er ab und VB bringt mir eine Fehlermeldung:

UriFormatException wurde nicht behandelt.
Ungültiger URI: Das URI-Format konnte nicht bestimmt werden.

Hier mein Code:

...

imports system.uri

dim url as string

private sub....

            url = txtUrl.Text
            Browser1.Navigate(New System.Uri(url))

end sub

das funktioniert genausowenig wie mit

browser1.url = new Uri(url)

Wäre für schnelle Hilfe dankbar!

Gruß,

J.R.

Content-ID: 116308

Url: https://administrator.de/forum/vb-2008-express-browser-uri-problem-116308.html

Ausgedruckt am: 08.04.2025 um 07:04 Uhr

77559
77559 18.05.2009 um 15:30:25 Uhr
Goto Top
Hallo J.R.,

die Fehlermeldung lässt es doch eigentlich nicht an der Eindeutigkeit fehlen.

Wenn du den Komfort des IE nachbilden willst, Test halber http:// und/oder www. davorzuhängen kannst du ja die Exception dafür nutzen.
Es hilft sicherlich auch die relevanten MSDN -Texte dazu durchzuarbeiten.
http://msdn.microsoft.com/de-de/library/system.uri(VS.80).aspx
http://msdn.microsoft.com/de-de/library/system.uriformat(VS.80).aspx
http://msdn.microsoft.com/de-de/library/system.uriformatexception(VS.80 ...

Gruß
Lotpings
14695
14695 18.05.2009 um 15:33:18 Uhr
Goto Top
Hi,

das ist auch korrekt so, da "google.de" keine korrekte Uri ist.

Entweder (einfache Lösung): Die Navigate-Methode akzeptiert in einer Überladung einen System.String. Rufe also auf
Browser1.Navigate(textBox1.Text)

Oder (feiner zu steuern):

UriBuilder bob = new UriBuilder();
bob.Host = textBox1.Text;
Browser1.Navigate(bob.Uri);

Grüße
Oliver
beckslevel91
beckslevel91 18.05.2009 um 15:40:06 Uhr
Goto Top
Super! Hat einwandfrei funktioniert.. Vielen Dank =)