Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 带列表的ASP.NET MVC3模型_Asp.net Mvc_List_Validation - Fatal编程技术网

Asp.net mvc 带列表的ASP.NET MVC3模型

Asp.net mvc 带列表的ASP.NET MVC3模型,asp.net-mvc,list,validation,Asp.net Mvc,List,Validation,我在MVC3中遇到了一个小问题。我正在创建一个应用程序,其中我的模型(装运)包含以下内容: 用户id(字符串,必填) 引用id(字符串,可选) 订单ID列表(字符串,不能为空) 应用程序的索引视图是用户创建装运(模型)的位置。完成此操作后,用户不再与它进行进一步的交互(没有编辑、详细信息或列表视图) 我的问题是这个。我尝试使用一个表单来添加订单ID和创建装运本身,使用两个单独的按钮提交(“添加”用于添加订单ID,“发送”用于创建装运)。似乎当我使用控制器的Create操作时,按下“Send”

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

  • 用户id(字符串,必填)
  • 引用id(字符串,可选)
  • 订单ID列表(字符串,不能为空)
应用程序的索引视图是用户创建装运(模型)的位置。完成此操作后,用户不再与它进行进一步的交互(没有编辑、详细信息或列表视图)

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

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

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


有什么建议吗?

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

如果添加表单和控制器代码,会有所帮助;)