Windows Phone 8.0 Silverlight App。
我在MainPage.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;
}
我从两个页面检索数据,但是,page2的内容不会传递给我的MainPage.xaml中的lstGameDeals。我可以使用两个foreach,还是有其他我在这里做错了?
感谢。
答案 0 :(得分:0)
在第二个foreach之后,您使用lstGameDeals
变量设置了gameDeals
的ItemsSource,但我认为您要使用newGameDeals
。在第二次预告之后尝试lstGameDeals.ItemsSource = newGameDeals ;
。