私はASPのショップでC#を使用しています。この場合、製品の詳細ページのイメージを取得しようとしていますが、各製品の各イメージ最も重要なテーブルは次のとおりです。アイテムからのIDを使用してイメージを取得するASP.NET
製品:IDを持つ製品ごとに画像が関連付けられています。
イメージ:製品ごとに1つのイメージが表示されます。
public T GetById(string id)
{
return GetById(new object[] { id });
}
:私は、このメソッドを使用しているデータベースからデータを取得するための
//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 List<Imgs> Imagenes { get; set; }
と画像テーブル内:
製品の表には、このフィールドを含みます
aspx.csでは、データをaspxに「埋め込む」方法は次のとおりです。
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;
(プロダクトマネージャはGetById方法のクラスである)nameProdラベルとimgProdはasp:Image
あります。問題は、imgPathをimgProdのソースとして取得しようとしている間、nullであると言います。私はFirstOrDefaultを使用する可変イメージについて何か不足していると思います。
おそらく、このメソッドをデバッグして表示し、検査するべきでしょう: 'GetById(new object [] {id});' – mybirthname
例外が発生しなければ 'image'はnullになりません。エラーが発生し、nullでToString()を呼び出すとエラーになります。文字通り文字列 "null"を意味しますか? – Crowcoder