[英]Object pool seems to be returning an object copy rather than an object reference
[英].NET MVC view returning object name rather than specific object
我将列表列表返回到MVC视图,显示为一组表。 我使用嵌套的for循环尝试返回每个列表中的值。
这些表将返回到具有每个行的预期行数的视图,但是这些表将返回其参数的名称,而不是每个参数的实际值,而不是每个行中的值。
我认为当前的代码是:
@if (Model.Report != null)
{
for(var row = 0; row < Model.Report.Count(); row++)
{
<table>
<tr>
<td><h4>@Html.DisplayNameFor(m=>m.Report[row].ReportData[row].ReportingGroup)</h4></td>
</tr>
<tr class="table-header">
<td style="text-align: center">Name</td>
<td style="text-align: center">Area</td>
<td style="text-align: center">Message</td>
</tr>
@for (var listing = 0; listing < Model.Report[row].ReportData.Count(); listing++)
{
<tr>
<td style="text-align: center">@Html.LabelFor(a=>a.Report[row].ReportData[listing].Name)</td>
<td style="text-align: center">@Html.LabelFor(a => a.Report[row].ReportData[listing].Area)</td>
<td style="text-align: center">@Html.LabelFor(a => a.Report[row].ReportData[listing].Message)</td>
</tr>
}
</table>
}
}
我将返回参数名称(“名称”,“区域”和“消息”),而不是返回视图中每一行的参数实际值。 我想知道我哪里出错了。
LabelFor
为您传递的属性显示标签。 如果没有其他属性,那只是属性名称。
您只想打印值本身:
@Model.Report[row].ReportData[listing].Message
您应该用foreach
替换for
循环,因此您无需执行所有操作。
更改LabelFor
到DisplayFor
或TextBoxFor
在for循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.