我在这个网站上工作,我把所有可用的产品都放在一个页面上。每个产品都有自己的产品详细信息,颜色,尺寸,价格等。
我想显示此产品的最低可用价格。我使用带有产品列表的ViewModel,此刻我不知道如何获得这个特定产品的价格。它的产品详细信息也是一个列表。所以不知怎的,我应该得到它的ProductDetails的最低价格。
这是我的viewmodel:
var model = new ViewModelProductOverview()
{
Products = new ProductRepository().GetProductsAvailable(Id, Index, Size),
Category = new CategoryRepository().Get(Id),
CurrentPageID = page.HasValue ? page.Value : -1
};
我的观点:
@{
var i = 0;
foreach (var product in Model.Products)
{
var position = "";
switch (i)
{
case 0: position = "first";
break;
case 1: position = "second";
break;
case 2: position = "third";
break;
default: i = 0; position = "first";
break;
}
<li class="@position"><a href="@Url.Action("Detail", "Product", new { productseourl = product.Name.ToSeoUrl(Sign.Minus), productid = product.ID })" >
</a>
<table>
<tr>
<td>
@product.Name @product.FabricType.Name
</td>
<td style="text-align: right;">
//Its lowest price need to come here
</td>
</tr>
<tr>
<td>
@product.SubCategory.Name
</td>
<td style="text-align: right;">
//Promotion price
</td>
</tr>
</table>
</li>
i++;
}
}
答案 0 :(得分:1)
基本上,
var minPrice = allProducts.Details.Select(d => d.Price).Min();
var cheapestDetail = allProducts.Details.OrderBy(d => d.Price).First();