Я хотел бы передать свой пользовательский экземпляр класса со своей страницы создания на мою страницу сведений.
У меня довольно большой и сложный объект.
Попробовал передать его в TempData. Он потерпел неудачу, так как мой класс и его подклассы не сериализуемы и не имеют открытых c конструкторов.
Есть ли эффективная практика для установки общих данных между различными моделями / страницами в моем проекте? ListModel
public class ListModel : PageModel
{
public IActionResult OnPost()
{
DataStructure item = DataStructure.Create();
return RedirectToPage("./items/Details");
}
}
DetailsModel
public class DetailsModel : PageModel
{
[BindProperty(SupportsGet = true)]
public DataStructure Item{ get; set; }
public DetailsModel(DataStructure item)
{
this.Item= item;
}
public IActionResult OnGet()
{
if(Item != null)
{
I wish to go here!
}
return Page();
}
}
Program.cs
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}