razor foreach使用ICollection

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了razor foreach使用ICollection相关的知识,希望对你有一定的参考价值。

我正在使用剃刀来显示作者列表,因为你可以看到uno“MyClass”可以有很多作者。

   public class MyClass
{   
    [Key]
    public int MyClassId{ get; set; }
    //more properties
    /*****One measure has many authors*****/
    public virtual ICollection<Author> Authors { get; set; }

}
public class Author
{
    [Key]
    public int AuthorId { get; set; }

    public virtual Measure Measure { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string Email { get; set; }
}

我想在foreach循环中显示FirstName和LastName

  @foreach (var item in Model.Authors)
                {
                   @item.FirstName+" " + @item.LastName
                 }

但似乎我没有使用正确的sintax,如何显示名字和姓氏?

谢谢

答案

确保完成以下步骤:

1)将模型传递给视图(显然有WITH数据)

var myModel = //some object of your MyClass;
return View(myModel);

2)在视图顶部添加@model MyClassto以接收模型

3)循环应如下所示:

@foreach (var item in Model.Authors.ToList())
{
   <p>
      @html.Raw(item.FirstName + " " + item.LastName)
   </p>
}

编辑:.ToList()可能是必要的,因为作者是类型ICollection

另一答案

@ item.FirstName +“”+ @ item.LastName

在运行时,应该抛出错误,正确的语法:

选项1:

@foreach (var item in Model.Authors)
{
  @item.FirstName @item.LastName
}

选项2:

@foreach (var item in Model.Authors)
{
   string contactenated = item.FirstName + " " + item.LastName;
   @contactenated
}

以上是关于razor foreach使用ICollection的主要内容,如果未能解决你的问题,请参考以下文章

如果 Razor 视图中的 foreach 无法识别条件

Razor语法 if嵌套foreach再嵌套if

jquery 循环和分配来自 Asp.net 核心 Razor 页面 foreach 的数据

c# razor mvc textboxfor in foreach 循环

在 Knockout foreach 循环中编写 HTML 代码(通过 Razor 调用)

MVC Razor 视图嵌套 foreach 的模型