Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 2 如何将部分视图发布到另一个控制器方法_Asp.net Mvc 2_Partial Views - Fatal编程技术网

Asp.net mvc 2 如何将部分视图发布到另一个控制器方法

Asp.net mvc 2 如何将部分视图发布到另一个控制器方法,asp.net-mvc-2,partial-views,Asp.net Mvc 2,Partial Views,我在Index.aspx视图中有一个表单标记。Index.aspx包含多个局部视图,并使用同一模型渲染它们 现在,当任何局部视图发布时,带有提交按钮的表单将发布到OneActionMethod。但我想让一些局部视图将表单发布到OtherActionMethod 我如何在不使用操作链接的情况下,仅在这个特定的空间视图中使用submit按钮来实现这一点 我已经在对这个问题的评论中写了更新。我仍然不清楚答案。你听起来像是在用MVC编写“WebForms”风格的程序 为什么有一个大的表单包含所有的par

我在Index.aspx视图中有一个表单标记。Index.aspx包含多个局部视图,并使用同一模型渲染它们

现在,当任何局部视图发布时,带有提交按钮的表单将发布到OneActionMethod。但我想让一些局部视图将表单发布到OtherActionMethod

我如何在不使用操作链接的情况下,仅在这个特定的空间视图中使用submit按钮来实现这一点


我已经在对这个问题的评论中写了更新。我仍然不清楚答案。

你听起来像是在用MVC编写“WebForms”风格的程序

为什么有一个大的表单包含所有的partials?将它们分离成独特的形式,并将每一个帖子发布到相应的操作中


编辑:在你进一步澄清之后,我唯一能想到的(除了重新设计使用单个表单,如果他们想要共享数据,这确实会导致问题)是发布到单个操作,然后根据特定的表单元素将请求路由到控制器中ActionA或ActionB的私有成员。

我相信一点javascript就能完成任务。你必须钩住表单的submit事件并更改表单的action属性。请记住,操作是表单的属性,而不是提交按钮的属性。在jquery中,您可以执行以下操作

$("#myform").submit(function(){
   if(isFirstSubmitButton){
    $(this).attr(FirstAction);
   }
   else if(isSecondSubmitButton)
   {
    $(this).attr(SecondAction);
   }
return true;
});

不要这样做,每个局部视图都应该有自己的Html.BeginForm(如果需要)。不要像Webforms那样只考虑一个大表单!使用母版页来定义布局,而不是表单。如果我需要在一个表单中对同一数据进行多种编辑,那么我可以选择:编辑、编辑1、编辑2。这些是不同类型的编辑。既然我不能嵌套表单,那么正确的方法是什么呢?它不是一个大表单,而是一个小表单,编辑小片段:-)。所以它是好的,即使它不能改变它,它也是我被要求这样做的。因此,问题仍然存在:-)答案是将每一个单独的片段移动到它们自己的形式。表单应该只是要发布到操作的数据的逻辑分组。再多的都是虐待。你需要重新思考你的策略,以MVC风格工作。谢谢你的回答。请阅读我的更新,我非常感兴趣的是你对如何做到这一点的看法。假设他对自己的应用程序在没有Javascript的情况下被完全破坏感到满意。同意FlySwat,这看起来像是一个黑客。只需将此标记为答案,因为它更适合提问。当然,我仍然认为这是一种黑客行为,如果我们想以一种适当的方式制作东西,我们应该在每个局部视图中使用一种形式。所以我投票给了苍蝇特警队答案:-)