Я использую ядро Asp.net 2.1 и создаю компонент представления:
public class UploadFileViewComponent:ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(IFormFile formFile)
{
return await Task.FromResult((IViewComponentResult) View("Default", formFile));
}
}
и попробуйте использовать это в razorpage:
@page
@using Mi24.Core.ViewMolde
@model Mi24.Web.Pages.Admin.Users.CreateUserModel
@{
ViewData["Title"] = "Title"
}
@await Component.InvokeAsync("UploadFile",new{ formFile=Model.CreateUserViewModel.AvatarFile });
но получаю ошибку: NullReferenceException: ссылка на объект не установлена на экземпляр объекта.
добавив этот код в RazorPage выше, ошибка решена:
[BindProperty]
public CreateUserViewModel CreateUserViewModel { get; set; }
public async Task OnGetAsync()
{
CreateUserViewModel=new CreateUserViewModel();
}
на viewcomponent пользователь выбирает изображения и с помощью формы отправки запускается метод OnPost для razorpage, но кошачий доступ к опубликованному файлу в Onpost:
public async void OnPostAsync()
{
string fileName= CreateUserViewModel.AvatarFile.FileName;
}
эта ошибка: System.NullReferenceException