Collections MVC 6标记帮助程序和foreach

Collections MVC 6标记帮助程序和foreach,collections,asp.net-core-mvc,tag-helpers,Collections,Asp.net Core Mvc,Tag Helpers,为了显示集合中的项目,我将为asp提供标签标记帮助器的属性。下面的代码生成一个编译错误 @foreach (var item in Model) { <label asp-for="item.BookingCode"></label> } @foreach(模型中的变量项) { } 字符转义默认型号lambda代码。因此,您可以键入: @foreach (var item in Model) { <label asp-for="@item.Book

为了显示集合中的项目,我将为asp提供标签标记帮助器的属性。下面的代码生成一个编译错误

@foreach (var item in Model)
{
    <label asp-for="item.BookingCode"></label>
}
@foreach(模型中的变量项)
{
}

字符转义默认型号lambda代码。因此,您可以键入:

@foreach (var item in Model)
{
    <label asp-for="@item.BookingCode"></label>
}
@foreach(模型中的变量项)
{
}

我有一个简单的方法来创建列表并显示其属性

List<string> razones = new List<string>();
foreach (var item in _context.Reason)
{
    razones.Add (item.Description);
}
System.Diagnostics.Debug.WriteLine(razones.Count);
List razones=newlist();
foreach(在_context.Reason中的变量项)
{
添加(项目说明);
}
系统.诊断.调试.写线(razones.计数);

什么是错误,在模型中,我认为您有相同项的集合,并且所有项都将包含相同值的相同属性名称。是的,您是对的。我实际上在寻找一种显示值的方法,但显然MVC6还没有用于此的标记帮助器。错误是作用域中没有“项”,这是有道理的,因为Model.item不存在。@ConvertToInt32-实际上,即使我为foreach添加了outside,我仍然没有得到asp中应该包含的内容。我的模型是IEnumerable。请尝试IList,而不是将IEnumerable用作您的模型。您说过您的模型是IEnumerable。切换到IList,就像在代码隐藏的末尾添加“.ToList()”。在1.0.0-rc1-update1中,上述代码只打印“BookingCode”文本,而不是BookingCode属性的实际值。还有其他解决方案吗?因为这是针对标签元素的,所以asp默认为属性名称,而不是BookingCode的值。使用@item.BookingCode(不带元素)查看值。
的标记帮助器在这里并不重要。但如果您想使用它,正如@JoelCunningham所述,请使用
@item.BookingCode
asp for value将标题显示为属性名,并在其中显示@item.BookingCode。。。将显示@item.BookingCode的值。