通过文本框搜索互联网

时间:2012-03-05 22:39:50

标签: c# windows-phone-7

我试图允许用户在文本框中输入他们的搜索查询,并且在使用回车键时,文本将被传递给他或她选择的互联网搜索提供商,并且得到的网页将是搜索结果好像用户已经在互联网搜索提供商中输入了他们的搜索查询。

我已经实现了一个webbrowser控件,它有一个初始化属性,可以在应用程序启动时显示一个网站(比如http://www.google.com一个用户选择的主页),我还在顶部创建了一个搜索文本栏。我的应用程序从用户输入文本。

当文本框具有焦点并且用户输入了他们的查询时单击回车键,我希望将文本框中输入的文本传递给用户选择的搜索提供商(例如bing.com,google.com ,yahoo.com等将在应用程序的其他地方的设置页面下设置)。我遇到的问题是弄清楚如何将此文本框文本传递给搜索提供程序,然后在我的webbrowser控件中呈现结果。这是可能的,如果是这样的话,如何实现呢?我到处搜索,但由于某种原因没有找到任何代码可供参考或如何实现这一点的想法。我是wp7和c#的新手,所以任何链接,建议或代码帮助将不胜感激! 为了快速参考,我在下面显示了一些代码

MainPage.xaml中

<my:FullWebBrowser Name="TheBrowser" Grid.RowSpan="2" InitialUri="http://www.google.com" Height="800" Margin="0,0,0,-690" />

MainPage.xaml.cs中

private void BrowserBar_Click(object sender, KeyEventArgs e)
    {
        //search whats in the searchbar
        //use inputscope enter key to start search!
        if (e.Key == Key.Enter)
        {
            //check to ensure asbolute navigation ur, else search through bing?
            //??
        }

    }

2 个答案:

答案 0 :(得分:3)

检查热门搜索提供商的搜索结果页面的URI。请注意,搜索查询嵌入在那里。也许您可以对搜索查询执行此类转换并将其放入Web控件的URI中?

答案 1 :(得分:1)

构建您的uri :(文本可能需要一些格式才能使其符合搜索网站的要求。)

string searchString = textBox.Text  //format if necessary
uri = "http://www.bing.com/search?q=" + searchString;

导航您的网络浏览器控件:

webBrowser.Navigate(uri);