使用项目ASP.NET中的ID获取图像

时间:2016-12-28 15:01:25

标签: c# asp.net image

我正在使用C#在ASP商店工作,在这种情况下,当我试图获取产品详细信息页面的图像时,我遇到了一些问题,每个产品的每个图像。最重要的表格是:

产品:每个带有ID的产品都有一个图像 图像:具有不同产品的图像,每个产品一个图像。

产品表包含以下字段:

public List<Imgs> Imagenes { get; set; }

在图像表中:

//Id from image
public int ID { get; set; }
//Name of the image
public string NameImg { get; set; }
//Path from image
public string ImgPath{ get; set; }
//FK from product table
[ForeignKey("Product")]
public int Product_Id { get; set; }
public Product Product { get; set; }

为了从数据库中获取数据,我正在使用这种方法:

public T GetById(string id)
{
    return GetById(new object[] { id });
}

在aspx.cs中,我将数据“填充”到aspx中,方法是: (产品经理是GetById方法的类)

prodManager = new ProductManager(context)
Product product = null;

product = prodManager.GetById(new object[] { id });                    
var image = product.Imagenes.FirstOrDefault().ImgPath.ToString();

nameProd.Text = "<h2>"+product.NameProd+"</h2>";
imgProd.ImageUrl = image;

nameProd是一个标签,imgProd是asp:Image。问题是,当我试图将imgPath作为imgProd的源时,它说它是null,我认为我错过了一些关于我使用FirstOrDefault的变量图像。

1 个答案:

答案 0 :(得分:0)

问题的解决方案是:

var img = imgMan.GetAll().Where(i => i.ID == product.Id).FirstOrDefault();

imgMan是图像管理器调用获取数据和打印图像的方法,解决方案是这样的:

imgProd.ImageUrl = img.ImgPath;