我在 MVC 3 中遇到了一个小问题。我正在创建一个应用程序,其中我的模型,一个装运,包括以下内容:
- 用户 ID(字符串,必填)
- 参考 ID(字符串,可选)
- 订单 ID 列表(字符串,不能为空)
应用程序的索引视图是用户创建货件(模型)的位置。完成此操作后,用户将不再与它进行交互(没有编辑、详细信息或列表视图)。
我的问题是这个。我正在尝试使用一种表单来添加订单 ID 和创建货件本身,使用两个单独的按钮进行提交(“添加”用于添加订单 ID,“发送”用于创建货件)。似乎当我使用控制器的创建操作时,按下“发送”会用一个空的订单 ID 覆盖我的订单 ID 列表。但是,如果我提交到索引操作,并在按下“发送”时重定向到创建,我的模型验证就消失了(ModelState 只包含“提交”)。
现在我正在使用会话在我的控制器操作周围传递数据,这可能不是最好的方法。
TLDR;我需要一种方法将项目添加到模型中的列表中,一次一个,同时保留其他表单数据,并且仍然能够验证它。
有什么建议么?