是否可以使用重定向将数据保存到 2 个表中?没有视图模型

Is it possible to save data into 2 tables using redirect to? Without Viewmodel

我有一个问题,我不知道该怎么办。

我有 2 个 table 它们之间有关系 (PK - FK),我想知道是否可以在第一个 table 中添加一个新行然后重定向它到第二个 table,然后添加另一个新行,然后在两个 tables?

中保存数据

我试过这样做,但它只是在第一行中插入一个新行,第二行让我输入数据,但是当我保存时,它不会在第二行中保存。

每个 table 我有 2 个单独的控制器,但这正是我想知道是否可行以及如何实现的。非常感谢一个基本示例。请记住,我在使用这项技术进行编程方面还很陌生。

谢谢,如有拼写错误,请见谅!

你的问题很不清楚。您是在寻找一种一次性保存所有数据的方法,还是只是创建一个用户可以输入两组数据的工作流程?

要一次保存所有数据,您有两种选择。第一个也是最好的选择是简单地以一种形式包含两个实体的所有字段。控制器和特定实体之间不一定是一对一的关联。您可以在单个控制器操作中使用多个不同的实体。利用视图模型,您可以在一个视图中处理所有数据,然后将 posted 信息映射到所有适当的实体并一次保存它们。

第二个选项是创建 "wizard" 或 multi-step 表单。由于每个请求都是幂等的,你只需要以某种方式持久化每个 post 的数据,通常是 TempData。在最后一步中,您可以从 TempData 或您保存它的任何其他地方检索以前的 posted 数据,并最终保存所有实体。

如果您将两个单独的保存步骤作为工作流程的一部分,那就更容易了。您只需遵循 PRG (Post-Redirect-Get) 模式并将您的重定向作为链中的下一步。但是,这只会将用户引导到定义的路径上。它不会阻止用户打破链条并无法完成后续步骤。