Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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 当提交按钮触发第二个表单时,第二个表单';s submit按钮向原始表单的操作发送POST请求_Asp.net_Asp.net Mvc 2 - Fatal编程技术网

Asp.net 当提交按钮触发第二个表单时,第二个表单';s submit按钮向原始表单的操作发送POST请求

Asp.net 当提交按钮触发第二个表单时,第二个表单';s submit按钮向原始表单的操作发送POST请求,asp.net,asp.net-mvc-2,Asp.net,Asp.net Mvc 2,我在使用MVC表单时遇到了麻烦,特别是在表单提交和显示第二个表单时 第二个表单的提交按钮转到原始表单的操作。 我问表单是否可以嵌套:。由于表单标记实际上不能嵌套,我改变了一些事情,使表单位于单独的div中,这样可以解决问题 用户单击第一个表单上的submit后,将显示第二个表单。当用户单击该表单的submit按钮时,它将发布到原始表单的控制器动作,而不是以新表单的view和viewmodel命名的动作 正在插入的表单正在使用 Ajax.BeginForm(新的AjaxOptions{Update

我在使用MVC表单时遇到了麻烦,特别是在表单提交和显示第二个表单时

第二个表单的提交按钮转到原始表单的操作。 我问表单是否可以嵌套:。由于表单标记实际上不能嵌套,我改变了一些事情,使表单位于单独的div中,这样可以解决问题

用户单击第一个表单上的submit后,将显示第二个表单。当用户单击该表单的submit按钮时,它将发布到原始表单的控制器动作,而不是以新表单的view和viewmodel命名的动作

正在插入的表单正在使用
Ajax.BeginForm(新的AjaxOptions{UpdateTargetId=“X”}))

第二个表单的末尾有一个
标记。同样,当用户单击此按钮时,表单模型中的任何值都不会发送回控制器

我尝试在Ajax链接中显式指定控制器操作:

这会将表单发送回正确的操作。但是,返回的所有值都为空

FormCollection使用
Html.BeginForm
并通过解析
FormCollection
字典进行了短暂的工作,但由于我不完全理解的原因,该设置停止了工作


这里的问题是什么?我觉得我又回到了网络表单的世界……

我认为这里的问题是,您试图将两个不同的表单提交给同一个操作。通常,当您有两个表单时,会有两个包含字段的不同关联视图模型。因此,我建议您使用两种不同的控制器操作。

也许这是一个类似的问题?嗨,Darin--不,事实上,新表单有不同的控制器操作。我也有不同的视图模型。问题是submit按钮发布到第一个控制器操作,而不是第二个控制器操作。当我尝试使用Ajax.ActionLink手动指定它应该发布到哪里时,它会执行正确的操作,但会返回一个空值。