Главного вида:Asp.net частичного вид не работает
@model BTGHRM.Models.EmployeeOverallReport
@{
Layout = "~/Views/Shared/_EmployeeMain.cshtml";
}
@foreach (var item in Model.ListOfPersonalData)
{
Html.Partial("Partial/_EmployeeOverallReportList", item);
<br/>
}
MyPartial:
@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; }
}
Bool свойство сделано для сортировки целей, и они теперь не используются. Проблема заключается в том, что этот код не возвращает буквально ничего:
Однако он возвращает тормоза и в режиме трассировки все модели имеют правильные данные и я могу получить внутри сетки с контрольными точками.
перед передачей его в представление \ частичный вид, что это состояние модели? –
@SimonPrice Это модель, содержащая «список сотрудников», каждый элемент списка сотрудников имеет собственный список «рабочих данных». Элементы «списка сотрудников» передаются на частичный просмотр один за другим, где веб-сетка построена с данными из списка «данные работы». В модели режима трассировки имеются достоверные данные. Btw, я просто привел код с частичного в основной вид, и он отлично работает. –
@SimonPrice я забыл разместить @ перед Html.Partial («Partial/_EmployeeOverallReportList», item); Но я не понимаю, почему эта строка не была замечена как строка текста –