簡體   English   中英

.NET MVC視圖返回對象名稱而不是特定對象

[英].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循環,因此您無需執行所有操作。

更改LabelForDisplayForTextBoxFor在for循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM