我想将自定义创建的类实例从“创建”页面传递到“详细信息”页面。
我有一个很大而又复杂的对象。
已尝试将其传递给TempData veriable。由于我的班级而失败,并且它的子类不能序列化,也没有公共构造函数。
在我的项目中的不同模型/页面之间是否设置共享数据是一种好习惯?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>();
});
}
您可以通过构造函数将参数传递给视图。请检查example from tutorial。