我目前正在開展個人項目,迄今爲止一切工作都很好,但現在我無法顯示我的照片,並且目前沒有關於如何將它們放在一起的想法。MVC - 在我的視圖中顯示來自另一個模型的圖片
CarModel
public class Car
{
public int Id { get; set; }
public string Brand{ get; set; }
public string Type { get; set; }
[Range(1900,2017)]
public int Buildyear { get; set; }
public float Price { get; set; }
PictureModel
public class Picture
{
public int Id { get; set; }
public int CarId{ get; set; }
public string UploadedFile { get; set; }
public DateTime UploadDate { get; set; }
}
CarSearchResultViewModel
public class CarSearchResultViewModel
{
[Display(Name = "Brand ")]
public string Brand { get; set; }
[Display(Name = "Type ")]
public string Type { get; set; }
public int Buildyear { get; set; }
public float Price { get; set; }
public Brandstof Fuel { get; set; }
public string Extra_Information { get; set; }
public Transmission Transmission { get; set; }
//Either of these 2 are not necessary
public List<Picture> Pictures { get; set; }
public string UploadedFile { get; set; }
}
CarController
List<CarSearchResultViewModel> result = new List<CarSearchResultViewModel>();
if (ModelState.IsValid)
{
result = (from pd in db.Cars
join od in db.Pictures on pd.Id equals od.CarId into odPictures
where pd.Brand == autoZVM.Brand
&& pd.Fuel == autoZVM.Fuel
&& pd.Type == autoZVM.Type
&& pd.Buildyear > autoZVM.MinBuildyear && pd.Buildyear < autoZVM.MaxBuildyear
&& pd.Price > autoZVM.MinPrice && pd.Price < autoZVM.MaxPrice
select new CarSearchResultViewModel
{
Brand= pd.Brand,
Type = pd.Type,
Fuel = pd.Fuel ,
Buildyear = pd.Buildyear,
Pictures = odPictures.ToList(),
Price= pd.Price,
Extra_Information = pd.Extra_Information
}).ToList();
}
return View("Result", result);
ResultView
@model IEnumerable<The_Scrubberij.Models.AutoZoekResultaatViewModel>
@{
ViewBag.Title = "Result";
}
<h2>Result</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tbody>
@foreach (var item in Model)
{
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
@Html.DisplayFor(modelitem => item.Brand) - @Html.DisplayFor(modelItem => item.Type)
</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-8">
@Html.DisplayFor(modelItem => item.Price) - @Html.DisplayFor(modelItem => item.Buildyear)
</div>
<div class="col-md-4">
@Html.DisplayFor(modelItem => item.Extra_Information) - <img src="@Url.Content(Model.UploadedFile)"></img>
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })
</div>
</div>
</div>
</div>
}
</tbody>
</table>
IEnumerable的「不包含用於定義 'UploadedFile的' 和沒有擴展方法 'UploadedFile的' 接受型的第一參數 '的IEnumerable' 可以發現
我不知道如何將這兩件事聯繫在一起提示將不勝感激
個我的感謝,樂華
所以我添加一個屬性公開名單
嗯,我沒有實際嘗試過,所以你可能不得不搗鼓它一點。另一種方法是(假設我們正在討論的實體框架)使圖片成爲Car的關聯實體,這樣您就可以在每輛車上獲得圖片列表,並且您可以在檢索時告知EF包含()圖片汽車,而你不再需要考慮如何自己進行加入。然後,您只需獲取車輛,並自動獲取每輛車的照片。 –
右連接運算符只需創建一對車和圖片,它不會自動將od轉換爲圖片列表。你需要做一個組加入:加入od在db.Pictures在pd.Id等於od.CarId *到odPictures *,然後圖片= odPictures.ToList() –