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-Key: 116308

Url: https://administrator.de/contentid/116308

Printed on: May 5, 2024 at 00:05 o'clock

Mitglied: 77559
77559 May 18, 2009 at 13:30:25 (UTC)
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
Mitglied: 14695
14695 May 18, 2009 at 13:33:18 (UTC)
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
Member: beckslevel91
beckslevel91 May 18, 2009 at 13:40:06 (UTC)
Goto Top
Super! Hat einwandfrei funktioniert.. Vielen Dank =)