剃刀:此时类名无效

时间:2016-05-20 01:16:38

标签: razor asp.net-mvc-5

我只是想在主页上列出产品。这是我正在做的事情......

@using iShop.Controllers
@using iShop.Models
@{
    ViewBag.Title = "Home Page";
}

<div class="row">
   <div class="col-md-4">
    <h2>Products</h2>
    <p>
            <ul>
                @foreach (var p in Product) { }
                    <li>@p.Title</li>
                }
            </ul>
    </p>

我收到错误“此时类名无效。”问题在于foreach中的“Product”。知道为什么吗? iShop.Models.Product确实存在。

2 个答案:

答案 0 :(得分:1)

您在列表表单中有多个Product作为View传递,简单。你会在这里再添加一件事,

  

您不会获得智能支持或强类型视图页面

以这种方式做到这一点。只需使用IEnumerable接口@model IEnumerable<Product>添加模型的引用即可。

因此,在视图页面@model IEnumerable<Product>中,假设您已将Product的集合传递给@foreach (var p in Model)特定操作方法

,则需要controller

Various Ways to Pass Data From Controller to View in MVC

答案 1 :(得分:0)

添加@model IEnumerable&lt;产品&gt;在页面顶部....还要记得在将产品模型绑定到视图时将(产品中的var p)更改为(模型中的var p)。