2012-10-09 27 views
0

我想從一個文本框發送URI來weblclient實例。問題是,如果我發送www.stackoverflow.com它會引發格式異常。如何解決這個問題?我無法攻擊http://,因爲如果用戶粘貼正確的格式,那麼動態連接的位會導致問題。webclient.openread()URI格式問題

protected void TextBoxUrl_TextChanged(object sender, EventArgs e) 
{ 
    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 

    using (var wc = new System.Net.WebClient()) 
    { 
     doc.Load(wc.OpenRead(TextBoxUrl.Text),Encoding .UTF8); 

    } 



} 

回答

0

首先將你的代碼從框TextChanged或將火所輸入的每一個字符。

其次,你將不得不寫的什麼是用戶輸入的解析程序。您可以隨時檢查是否TextBoxUrl.Text.StartsWith(「HTTP」),如果不將它添加到字符串的開頭。

我反而推薦一些好一點喜歡使用System.Uri.IsWellFormedUriString(TextBoxUrl.Text)。如果通過,那麼打電話給你的Load方法,否則讓他們修復或添加「HTTP」等

+0

好,謝謝。其實我的擔心是因爲webrequest.Create()方法。它不會在上面的字符串中拋出錯誤。至於textchanged事件,它與windowsform中的稍有不同。它會在外部點擊鼠標時觸發。反正仍然不錯的解決方案。 – user1575229

+0

耶有可能超過的WebRequest我猜即WebRequest的是更多的寬容也許HtmlAgilityPack不同的執行=) – Pepto