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 MyClass
to以接收模型
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的主要内容,如果未能解决你的问题,请参考以下文章
jquery 循环和分配来自 Asp.net 核心 Razor 页面 foreach 的数据
c# razor mvc textboxfor in foreach 循环