MVC将表单提交给不同的控制器

时间:2010-08-13 13:49:54

标签: asp.net-mvc-2

是否可以将相同的表格发布到不同的控制器?

每个页面只能发布以形成动作网址,但可能会有一些我怎么说按钮哪个网址形式应该去?

例如,我有一个表单和两个提交按钮,一个按钮将表单发布到一个控制器/ URL(例如/ action / view)另一个按钮提交表单到一个到另一个控制器/ url(例如/ action / anothervew)。 / p>

3 个答案:

答案 0 :(得分:4)

你绝对可以这样做,使用JQuery(或只是javascript)将函数附加到按钮的onclick事件。然后使用该函数更改表单发布到的URL,然后提交表单。

JQuery会是这样的:

$('#button1').onclick(function(){ $(this).action = url1; $(document).submit();});
$('#button2').onclick(function(){ $(this).action = url2; $(document).submit();});

答案 1 :(得分:2)

您需要使用javascript。单击按钮后,javascript会将表单的action属性修改为相应的控制器,然后提交表单。

答案 2 :(得分:1)

我们在使用javascript之前已经完成了这个,正如其他答案中所提到的那样,这可能是正确的方法。但是,另一种方法是发布到单个控制器方法,该方法包含决定将表单数据发送到何处的逻辑。

实际上,您将表单提交给控制器,然后使用控制器操作正文中的if语句重新提交基于按钮的文本或id的数据。