0

我在 MVC 3 中遇到了一个小问题。我正在创建一个应用程序,其中我的模型,一个装运,包括以下内容:

  • 用户 ID(字符串,必填)
  • 参考 ID(字符串,可选)
  • 订单 ID 列表(字符串,不能为空)

应用程序的索引视图是用户创建货件(模型)的位置。完成此操作后,用户将不再与它进行交互(没有编辑、详细信息或列表视图)。

我的问题是这个。我正在尝试使用一种表单来添加订单 ID 和创建货件本身,使用两个单独的按钮进行提交(“添加”用于添加订单 ID,“发送”用于创建货件)。似乎当我使用控制器的创建操作时,按下“发送”会用一个空的订单 ID 覆盖我的订单 ID 列表。但是,如果我提交到索引操作,并在按下“发送”时重定向到创建,我的模型验证就消失了(ModelState 只包含“提交”)。

现在我正在使用会话在我的控制器操作周围传递数据,这可能不是最好的方法。

TLDR;我需要一种方法将项目添加到模型中的列表中,一次一个,同时保留其他表单数据,并且仍然能够验证它。

有什么建议么?

4

1 回答 1

0

最好看一下您的操作,因为不太清楚您在那里做什么,但看起来您仍然在尝试使用相同的数据结构来传递不同的参数提示(一个包含列表,另一个包含一般数据) . 我认为最好在每个动作中提交不同的数据结构并构建所需的结果数据对象。

于 2013-02-18T17:26:07.173 回答