我正在开发用于Windows和平板电脑的Windows应用商店应用。我需要列出产品。
我想设置一个条件:如果URL上没有产品图片,那么它应该使用默认图片。
以下是代码:
//get product list by service call and bind to productList.
foreach(product item in productList)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(item.image.ToString()));
bool imageexist = false;
using (var response = (HttpWebResponse)(await Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, null)))
{
int imagelength = Convert.ToInt32(response.ContentLength);
if (imagelength > 0)
{
imageexist = true;
}
else
{
imageexist = false;
}
}
if (item.image == "N/A" || imageexist == false)
{
item.image = "Images/NoDataImages/ico-no-orders.png"; //default image
}
}
此处,产品可以是100或更多。所以,每次它都要求检查服务器。
还有其他方法可以检查,因为它每次都要求检查吗?消耗时间。
我已经提到了以下链接。但在所有情况下,我都需要每次调用检查图像。
1- How can I check if an Image exists at http://someurl/myimage.jpg in C#/ASP.NET
2- asp.net check if imageURL exists
3- Test to see if an image exists in C#
请建议使用方式。
答案 0 :(得分:0)
您可以尝试在模型类中使用INotifyProperty,然后将source设置为ObservableCollection。填充图像可以在绑定列表后以异步方式运行,并且在加载图像时调用NotifyProperty(服务器响应)。