Asp.net 当提交按钮触发第二个表单时,第二个表单';s submit按钮向原始表单的操作发送POST请求
我在使用MVC表单时遇到了麻烦,特别是在表单提交和显示第二个表单时 第二个表单的提交按钮转到原始表单的操作。 我问表单是否可以嵌套:。由于表单标记实际上不能嵌套,我改变了一些事情,使表单位于单独的div中,这样可以解决问题 用户单击第一个表单上的submit后,将显示第二个表单。当用户单击该表单的submit按钮时,它将发布到原始表单的控制器动作,而不是以新表单的view和viewmodel命名的动作 正在插入的表单正在使用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
Ajax.BeginForm(新的AjaxOptions{UpdateTargetId=“X”}))
第二个表单的末尾有一个
标记。同样,当用户单击此按钮时,表单模型中的任何值都不会发送回控制器
我尝试在Ajax链接中显式指定控制器操作:
这会将表单发送回正确的操作。但是,返回的所有值都为空
FormCollection使用Html.BeginForm
并通过解析FormCollection
字典进行了短暂的工作,但由于我不完全理解的原因,该设置停止了工作
这里的问题是什么?我觉得我又回到了网络表单的世界……我认为这里的问题是,您试图将两个不同的表单提交给同一个操作。通常,当您有两个表单时,会有两个包含字段的不同关联视图模型。因此,我建议您使用两种不同的控制器操作。也许这是一个类似的问题?嗨,Darin--不,事实上,新表单有不同的控制器操作。我也有不同的视图模型。问题是submit按钮发布到第一个控制器操作,而不是第二个控制器操作。当我尝试使用Ajax.ActionLink手动指定它应该发布到哪里时,它会执行正确的操作,但会返回一个空值。