C# 使用两个foreach语句的htmlagilitypack和httpclient

C# 使用两个foreach语句的htmlagilitypack和httpclient,c#,silverlight,windows-phone-8,html-agility-pack,C#,Silverlight,Windows Phone 8,Html Agility Pack,Windows Phone 8.0 Silverlight应用程序 我的主页.xaml.cs中有以下代码 protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string htmlPage = ""; string htmlPage2 = ""; using (var client =

Windows Phone 8.0 Silverlight应用程序

我的主页.xaml.cs中有以下代码

    protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
        string htmlPage = "";
        string htmlPage2 = "";
        using (var client = new HttpClient())
        {
            htmlPage = await client.GetStringAsync("http://page1");
            htmlPage2 = await client.GetStringAsync("http://page2");
        }

        HtmlDocument htmlDocument = new HtmlDocument();
        htmlDocument.LoadHtml(htmlPage);

        foreach (var div in htmlDocument.DocumentNode.SelectNodes("//div[starts-with(@id, 'p66acd000')]"))
        {
            GameDeals newGameDeals = new GameDeals();
            newGameDeals.dealTitle = div.SelectSingleNode(".//h2//a").InnerText.Trim();
            newGameDeals.dealCover = div.SelectSingleNode("(.//img)[1]").Attributes["src"].Value;
            newGameDeals.dealPriceText = div.SelectSingleNode(".//a[@class= 'GExclusive']").InnerText.Trim();
            newGameDeals.dealPriceGold = div.SelectSingleNode(".//span[@class= 'GPrice ProductPrice']").InnerText.Trim();
            newGameDeals.dealPriceSilver = div.SelectSingleNode(".//span[@class= 'SPrice ProductPrice']").InnerText.Trim();
            gameDeals.Add(newGameDeals);
        }
        lstGameDeals.ItemsSource = gameDeals;

        HtmlDocument htmlDocument2 = new HtmlDocument();
        htmlDocument2.LoadHtml(htmlPage2);

        foreach (var div in htmlDocument2.DocumentNode.SelectNodes("//div[starts-with(@class, 'copyContainer')]"))
        {
            GameDeals newGameDeals = new GameDeals();
            newGameDeals.dealTitle = div.SelectSingleNode(".//h4").InnerText.Trim();
            newGameDeals.dealCover = div.SelectSingleNode("(.//img)[1]").Attributes["src"].Value;
        }
        lstGameDeals.ItemsSource = gameDeals;
    }
我从这两个页面检索数据,但是,第2页的内容不会传递到MainPage.xaml中的lstGameDeals。我能用两个foreach吗,还是我在这里做错了什么


谢谢。

在第二次foreach之后,您使用
gameDeals
变量设置
lstGameDeals
的项目来源,但我认为您希望使用
newGameDeals
。尝试
lstGameDeals.ItemsSource=newGameDeals在第二个foreach之后

谢谢你,Kyur,这不是问题所在,但你让我意识到什么是错的。在第二个foreach结尾处,我错过了以下代码。。gameDeals.Add(newGameDeals);