webclient.openread()URI格式问题

时间:2012-10-09 22:29:11

标签: asp.net webclient

我正在尝试将uri从文本框发送到weblclient实例。问题是如果我发送www.stackoverflow.com它会抛出格式异常。如何解决这个问题?我无法攻击http://因为如果用户粘贴了正确的格式,那么动态附加的位将导致问题。

 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 );

    }



}

1 个答案:

答案 0 :(得分:0)

首先将您的代码移出TextChanged,否则它将针对输入的每个字符触发。

其次,您必须编写用户输入内容的解析例程。您可以随时检查TextBoxUrl.Text.StartsWith(“http”)是否未将其添加到字符串的开头。

我会建议使用System.Uri.IsWellFormedUriString(TextBoxUrl.Text)更好一些。如果它通过然后调用你的Load方法,否则让他们修复它或添加“http”等。