带有列表的ASP.NET MVC3模型

时间:2013-02-18 15:26:07

标签: asp.net-mvc list validation

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

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

应用程序的索引视图是用户创建货件(模型)的位置。完成此操作后,用户无法与其进行进一步交互(无编辑,详细信息或列表视图)。

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

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

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

最好看一下你的动作,因为你不清楚你在那里做什么,但看起来你似乎想要使用相同的数据结构来传递不同的参数条件(一个包含列表,另一个包含一般数据)。我认为最好在每个操作中提交不同的数据结构并构建所需的结果数据对象。