【发布时间】:2021-07-14 23:22:15
【问题描述】:
在 ASP.NET Core Razor Pages 项目中,我想从数据库中获取员工姓名并将其显示为侧边栏菜单中的菜单项。侧边栏菜单位于 _layout.cshtml 文件中。
我使用实体框架作为局部视图添加 Razor 页面
员工部分视图页面模型代码
public class EmployeesModel : PageModel
{
private readonly OneStopContext _context;
public EmployeesModel(OneStopContext context)
{
_context = context;
}
public IList<Employee> Employee { get;set; }
public async Task OnGetAsync()
{
Employee = await _context.Employees.ToListAsync();
}
}
员工部分视图 - 查看代码
@model OneStopAdmin.Pages.EmployeesModel
@foreach (var item in Model.Employee) {
@item.FirstName
}
然后我只需在 _layout.cshtml 文件中添加这个局部视图,以在侧边栏菜单中显示项目。
<partial name="Employees"/>
但我得到以下错误
InvalidOperationException:传入的模型项 ViewDataDictionary 的类型为“OneStopAdmin.Pages.IndexModel”,但 此 ViewDataDictionary 实例需要类型为模型项 'OneStopAdmin.Pages.EmployeesModel'。
我搜索并尝试了一些解决方案,但没有一个有效。 我在 ASP.NET Core 方面没有经验。那么如何使用 Entity 框架获取数据并将它们显示在 _layout.cshtml 文件中作为 ASP.NET Core Razor Pages 项目中的部分视图?
【问题讨论】:
标签: c# asp.net razor partial-views razor-pages