使用EF 6和MVC 5创建产品库

时间:2015-07-22 01:20:33

标签: asp.net-mvc-5

我在某个网站上为某人工作并遇到一个小问题。我承认我对MVC和EF有点新意,所以我遇到了这个问题。我的索引视图显示了我的产品,但它显示在一个直接的上下列表中,就像我创建它应该做的表一样。

我想要做的就是创建一个画廊,在那里他们并排连续说4,然后继续前进到下一行等等(上帝,我知道这是在制作感)。这是我的观点

@model IEnumerable<AccessorizeForLess.ViewModels.DisplayProductsViewModel>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    @foreach (var item in Model)
    {
        <tr>
            <td>
               @Html.DisplayFor(modelItem => item.Name)<br />
               <img src="@item.Image.ImagePath"/>
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Price)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </td>
        </tr>
    }

</table>

当然,它正在做它应该做的事情。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果有人接近这个问题,这就是我想出来的,它的工作方式与我一直在寻找:

@model IEnumerable<AccessorizeForLess.ViewModels.DisplayProductsViewModel>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Products</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
    @foreach (var item in Model)
    {
        <div style="float:left; width:25%">
            @Html.DisplayFor(modelItem => item.Name)<br />
            <input id="Hidden1" type="hidden" value="@item.Id" />
            <div>$@Html.DisplayFor(modelItem => item.Price)</div>
            <div><img src="@item.Image.ImagePath" /></div>
            <div>&nbsp;</div>
            <div>Quantity: <input type="text" id="quantity" style="width:50px;" /></div>
            <div>@Html.ActionLink("Details", "Details", new { id = item.Id })</div>
        </div>
    }

我确实有一个问题,在我的控制器中如何将价格格式化为货币,我试过这个:

IEnumerable<DisplayProductsViewModel> model = products.Select(p => new DisplayProductsViewModel()
{
    Id = p.ProductId,
    Name = p.ProductName,
    Image = p.ProductImage,
    Price = string.Format("{0:C}",p.ProductPrice)
}).ToList();

得到错误:

  

LINQ to Entities无法识别方法'System.String   格式化(System.String,System.Object)'方法,而这个方法不行   被翻译成商店表达