Я полагаю, что это вопрос нуба, так как я просто делаю быстрое подтверждение концепции страницы и у меня не было предыдущего опыта работы со страницами с бритвой.
Я экспериментирую с частичными страницами.
Моя родительская страница выглядит следующим образом
.cshtml
@page
@model IQ_Portal.Pages.AdminModel
@{
ViewData["Title"] = "Admin";
}
<h1>Admin</h1>
@if (@Model.IsSourceAdmin) {
<p>UserSources.Count = @Model.UserSources.Count</p>
@await Html.PartialAsync("~/Pages/_SourceEditor.cshtml", Model.UserSources );
}
.cshmtl.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using IQ_Portal.Code;
using IQ_Portal.Model;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore;
namespace IQ_Portal.Pages
{
public class AdminModel : PageModel
{
private static Guid SOURCE_ADMIN = new Guid("4D6F72A8-7CD1-4838-89B9-A016F76BD044");
private static Guid SITE_ADMIN = new Guid("90D9D5F8-7525-4A7D-B66B-E612B17BAC81");
private List<Guid> SiteAdminRoles = new List<Guid>() { SOURCE_ADMIN, SITE_ADMIN };
private IReportRepository _repository;
public List<AdminRole> UserAdminRoles;
public List<Source> UserSources = new List<Source>();
public bool IsSourceAdmin {
get
{
return UserAdminRoles.Where(uar => SiteAdminRoles.Contains(uar.Id)).Any();
}
private set {
}
}
public AdminModel(IReportRepository repository)
{
_repository = repository;
}
public async Task<IActionResult> OnGetAsync()
{
UserAdminRoles = await _repository.GetAdminRoles("email").ToListAsync();
UserSources = await _repository.GetSources("email").ToListAsync();
return Page();
}
}
}
Частичная страница - у меня были реальные элементы отображения, но просто проверка на ноль создает ошибку
@page
@model List<Model.Source>
@*
For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
*@
@if (Model != null) {
}
И ошибку
![enter image description here](https://i.stack.imgur.com/W7F50.png)
Что я делаю не так, когда передаю свою модель в частичное представление?