Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在视图中显示IEnumerable?_C#_Html_Asp.net Mvc_Razor_Ienumerable - Fatal编程技术网

C# 如何在视图中显示IEnumerable?

C# 如何在视图中显示IEnumerable?,c#,html,asp.net-mvc,razor,ienumerable,C#,Html,Asp.net Mvc,Razor,Ienumerable,我正在为产品做评论部分,在显示评论视图时遇到一些问题。我从两个模型中创建了一个模型,以便在一个视图中显示它们,但我将IEnumerable显示为列表的方式给我带来了一个错误。如何修改代码以使其正常工作 模型 看法 @model Database.Models.DetailsViewModel @DisplayFor(x=>x.Comments.DateComment)//在“IEnumerable”中获取错误 @Html.DisplayFor(x=>x.Comments.Comment)//不

我正在为产品做评论部分,在显示评论视图时遇到一些问题。我从两个模型中创建了一个模型,以便在一个视图中显示它们,但我将IEnumerable显示为列表的方式给我带来了一个错误。如何修改代码以使其正常工作

模型

看法

@model Database.Models.DetailsViewModel
    @DisplayFor(x=>x.Comments.DateComment)//在“IEnumerable”中获取错误 @Html.DisplayFor(x=>x.Comments.Comment)//不包含“Comment”的定义
我想得到这样的东西:
  • 2019-06-25:Foo
  • 2019-06-25:foooo
  • 为您的评论模型创建一个

     @Html.DisplayFor(x => x.Comments)
    

    它将循环遍历它们,并使用DisplayTemplate渲染每一个。

    您可以使用
    foreach
    循环来实现您的功能。foreach循环将迭代您的
    IEnumerable
    ,并显示列表中的每个元素。具体到您的情况,您可以:

    <ul>
      @foreach(var comment in Model.Comments)
      {
       <li>@comment.DateComment</li>
       <li>@comment.Comment</li>
      }
    <ul>
    
      @foreach(Model.Comments中的var注释) {
    • @comment.DateComment
    • @评论,评论
    • }

    您需要一个
    foreach
    。foreach语句无法对“DetailsViewModel”类型的变量进行操作,因为“DetailsViewModel”不包含“GetEnumerator”的公共实例定义。它返回了一些奇怪的信息
    System.Data.Entity.DynamicProxies.Product_1F161BFA07EF87380337F5397E9B83A40B176F245617AD31ACF72F5F0598D1BF
    为注释模型创建显示模板而不是注释ID,正如回答的第一句话所表明的那样,请在评论之前使用
    @
  • 评论。DateComment
  • 很抱歉错过了这一点。已进行所需的编辑。谢谢不要
    Model.DetailsViewModel.Comments
    be
    Model.Comments
    ?是的,它应该是
    Model.Comments
    ty需要帮助,它为我解决了问题
    @model Database.Models.DetailsViewModel
    <ul>
    @Html.DisplayFor(x => x.Comments.DateComment) //getting error here 'IEnumerable<Comments>'
    @Html.DisplayFor(x => x.Comments.Comment)     // does not containt definiton for 'Comment'
    <ul>
    
     @Html.DisplayFor(x => x.Comments)
    
    <ul>
      @foreach(var comment in Model.Comments)
      {
       <li>@comment.DateComment</li>
       <li>@comment.Comment</li>
      }
    <ul>