Я использую Asp.net core 2.1 и создаю View Component:
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();
}
при просмотре пользователь выбирает изображения и с помощью формы отправки запускает метод razorpage методом OnPost, но не получает доступ к опубликованному файлу в Onpost:
public async void OnPostAsync()
{
string fileName= CreateUserViewModel.AvatarFile.FileName;
}
эта ошибка: System.NullReferenceException