Asp.net 局部视图不起作用

Asp.net partial view doesn't work

主视图:

@model BTGHRM.Models.EmployeeOverallReport
@{
    Layout = "~/Views/Shared/_EmployeeMain.cshtml";
}

@foreach (var item in Model.ListOfPersonalData)
{
    Html.Partial("Partial/_EmployeeOverallReportList", item);
    <br/>
}

我的部分:

@model BTGHRM.Models.PersonalData
@{
WebGrid grid = new WebGrid(Model.ListOfWorkData, canSort: false, rowsPerPage: 15);
}

@Html.Label(Model.FirstName)
@Html.Label(Model.LastName)
@Html.Label(Model.Appointment)
@Html.Label(Model.Division)

@if (Model.ListOfWorkData.Any())
{
@grid.GetHtml(
        tableStyle: "table",
        headerStyle: "table_HeaderStyle",
        footerStyle: "table_PagerStyle",
        rowStyle: "table_RowStyle",
        alternatingRowStyle: "table_AlternatingRowStyle",
        selectedRowStyle: "table_SelectedRowStyle",
        columns: grid.Columns(
            grid.Column("ProjectName", @Resources.Localization.project, format: @<text>
                <span class="display-mode"><label id="ProjectNameLabel">@item.ProjectName</label></span>
            </text>, style: "p60"),
            grid.Column("Activity", @Resources.Localization.activity, format: @<text>
                <span class="display-mode"><label id="ActivityLabel">@item.Activity</label></span>
            </text>, style: "p60"),
            grid.Column("ProjectEndDate", @Resources.Localization.start_date, format: @<text>
                <span class="display-mode"><label id="ProjectStartDate">@item.ProjectStartDate</label></span>
            </text>, style: "p60"),
            grid.Column("ProjectEndDate", @Resources.Localization.end_date, format: @<text>
                <span class="display-mode"><label id="ProjectEndDate">@item.ProjectEndDate</label></span>
            </text>, style: "p60")
        )
)
}

我的模特:

public class EmployeeOverallReport
{
    //DataBlock:
    public bool PersonalDataPartBool { get; set; }
    public List<PersonalData> ListOfPersonalData { get; set; }
    //ColumnsNeeded:
    public bool EmployeeIdBool { get; set; }
    public bool FirstNameBool { get; set; }
    public bool LastNameBool { get; set; }
    public bool AppointmentBool { get; set; }
    public bool DivisionBool { get; set; }

    //DataBlock:
    public bool WorkDataPartBool { get; set; }
    public bool ProjectWorkerIdBool { get; set; }
    public bool ProjectIdBool { get; set; }
    public bool ProjectNameBool { get; set; }
    public bool ActivityBool { get; set; }
    public bool ProjectStartDateBool { get; set; }
    public bool ProjectEndDateBool { get; set; }

}

public class PersonalData
{
    //Not all
    public List<WorkData> ListOfWorkData { get; set; }
    public int EmployeeId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Appointment { get; set; }
    public string Division { get; set; }
    //And more
}

public class WorkData
{
    public int WorkerId { get; set; }
    public int ProjectId { get; set; }
    public string ProjectName { get; set; }
    public string Activity { get; set; }
    [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
    public DateTime? ProjectStartDate { get; set; }
    [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
    public DateTime? ProjectEndDate { get; set; }
}

布尔属性是为了排序目的而创建的,现在没有使用。问题是这段代码 returns 字面上什么都没有:

但是它 returns 制动并且在跟踪模式下所有模型都有正确的数据并且我能够通过断点进入网格。

for 循环中的 Html.Partial 仍在为 Razor 页面调用 HtmlHelper。换句话说,您仍在调用该函数,但 return 值并未呈现到视图中。如果你的循环是

<text>
    Html.Partial("Partial/_EmployeeOverallReportList", item);
</text>

那么 Html.Partial 会显示为文本