我正在關注MVC音樂商店的教程,並試圖構建它。我希望能夠爲類別中的每個項目顯示圖像。到目前爲止,我可以返回一個類別的項目列表,但無法從數據庫獲取URL來填充我的視圖中的圖像源。在asp.net MVC中使用Join查詢
我設置模型的方式如下。我有一個項目表,其中包含到分類表的外鍵。然後我有一個圖像表,其中有一個外鍵到項目表。我一直在試圖從控制器返回的每個項目的url表中獲取一個url。
分類型號:分類
public class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
public ICollection<Item> Items { get; set; }
}
產品型號的只是一個列表:包含外鍵的類別
public class Item
{
public int ItemId { get; set; }
public int CategoryId { get; set; }
public string ItemName { get; set; }
public virtual Category Category { get; set; }
public ICollection<Image> Images { get; set; }
}
圖片型號:包含一個外鍵的項目表。
public class Image
{
public int ImageId { get; set; }
public string ImageURL { get; set; }
public int ItemId { get; set; }
public virtual Item Item { get; set; }
}
瀏覽器
public ActionResult Browse(string category)
{
var categoryModel = storeDB.Categorys.Include("Items")
.SingleOrDefault(c => c.CategoryName == category);
return View(categoryModel);
}
查看:
@model Project.Models.Category
<div class="items">
<h3><em> @Model.CategoryName </em></h3>
@foreach (var item in Model.Items)
{
<a href="@Url.Action("Details",new {id = item.ItemId})"/> @item.ItemName
<a href="@Url.Action("Details",new {id = item.ItemId})"/> <img alt="@item.ItemName" src= "@item.Image.Where(i => i.ImageURL.Contains("thumb")).FirstOrDefault()" />
}
當我通過代碼上面,我可以看到,圖片網址是空的,但一直沒有弄清楚正確的方法來設置它。就像任何初學者的問題一樣,我想像我做錯了什麼或錯過了顯而易見的事情。任何幫助將受到歡迎。
由於
問題的標題是誤導性的...... – Daniel 2014-09-22 23:50:44
裸露在心我不知道我的問題是什麼。你會建議什麼? – ricky89 2014-09-23 11:11:25