Ich habe ein Problem beim Anzeigen meiner Daten.ASP.NET Core - Anzeigen von Datenfehler
Was ich versuche, auf meiner Seite zu erreichen, ist, dass ich alle von ihnen in einer Ansicht für die Anzeige von Daten und CRUD-Operation mit Bootstrap legen.
ich diese Art von Fehler empfangen:
Auch wurde vorgeschlagen, dass ich neue() verwenden, da es festgestellt, dass ich eine neue Instanz erstellen sollte, aber ich weiß nicht, wo Setzen Sie es ab. Ich habe versucht, es in mein Modell wie public lstEmployee = new IEnumerable<Employee> { get; set; }
zu setzen und es scheint überhaupt nicht zu funktionieren.
Dies ist mein Code:
Modell:
using PEMCOLoan.DAL.Entities.Models;
namespace prjPEMCOLoan.Models
{
public class ModelEmployee
{
public IEnumerable<Employee> lstEmployee { get; set; }
public Employee employees { get; set; }
}
}
Ausblick:
@model prjPEMCOLoan.Models.ModelEmployee
@{
ViewBag.Title = "List of Employees";
}
<form class="navbar-form navbar-right" style="margin-bottom: 10px;">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<p>
<h3>List of Employees</h3>
<button type="button" class="btn btn-info btn-sm openAdd" data-toggle="modal" data-target="#myModal2"><span class="glyphicon glyphicon-floppy-save" style="vertical-align:middle;margin-top: -5px"></span> Add</button>
</p>
<table class="table table-hover table-striped">
<tr>
<th>ID Employee</th>
<th>Full Name</th>
<th>Contact Number</th>
<th>Position</th>
<th>Action</th>
</tr>
@foreach (var item in Model.lstEmployee)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.EmployeeId)</td>
<td>@Html.DisplayFor(modelItem => item.Fname) @Html.DisplayFor(modelItem => item.Lname)</td>
<td>@Html.DisplayFor(modelItem => item.PhoneNumber)</td>
<td>@Html.DisplayFor(modelItem => item.Position)</td>
<td>
<a class="btn btn-primary btn-sm" asp-controller="Employee" asp-action="Details" asp-route-id="@item.EmployeeId"><span class="glyphicon glyphicon-dashboard" style="vertical-align:middle;margin-top: -5px"></span> Details</a>
<button type="button" class="btn btn-warning btn-sm openEdit" data-toggle="modal" data-target="#myModal" data-emp-id="@item.EmployeeId"><span class="glyphicon glyphicon-edit" style="vertical-align:middle;margin-top: -5px"></span> Edit</button>
<button type="button" class="btn btn-danger btn-sm openDiag" data-toggle="modal" data-target="#myModal" data-emp-id="@item.EmployeeId"><span class="glyphicon glyphicon-trash" style="vertical-align:middle;margin-top: -5px"></span> Delete</button>
</td>
</tr>
}
</table>
Controller:
[HttpGet]
public async Task<IActionResult> Index()
{
var getAllEmployees = await _Context.Employee.ToListAsync();
return View(getAllEmployees);
}
Der Fehler ist ziemlich klar: Ihr Modell sagt, es will ein ModelEmployee-Objekt, Sie geben ihm eine Liste von Mitarbeitern. Sie müssen eine Instanz der Modellklasse erstellen, die Liste darin einfügen und diese an die Ansicht übergeben. –
@SamiKuhmonen, also muss ich eine neue Instanz des Modells erstellen, oder? wie folgt: '@model modelEmp = new MoelEmployee();' ?, Sorry, ich bin Neuling ... – NightShade555
Sie müssen das tun, wenn Sie das Modell von der Steuerung –