1

我对提交表单的 ASP.Net MVC 4 formcollection 有一个奇怪的问题。以下是实际情况:

  1. ASP.Net MVC 4 项目
  2. 我在具有多个输入的视图上有一个表单。
  3. 我在表单上有两个提交按钮,每个按钮都有不同的名称,每个按钮都映射到视图控制器中的不同操作(使用 HttpParamActionAttribute)。
  4. 我在表单外有两个带有 onclick 事件的 Actionlink 按钮,它们指向表单内的两个提交按钮中的每一个。换句话说,当单击这些按钮中的每一个时,它会生成对表单中相应提交按钮的单击。
  5. 我遇到的问题是,如果按下 actionlink 按钮,控制器中提交的表单的 FormCollection 不正确。如果直接按下表单按钮,那么所有正确的表单值都会在表单集合中看到。但是,如果按下 actionlink 按钮,则 formcollection 不会显示提交表单的值。相反,它显示表单的旧(默认)值。

为什么有区别?

我认为如果 actionlink 按钮模拟了表单提交的点击,那么它会做与表单提交本身被按下一样的事情,但显然事实并非如此。为什么不?

4

1 回答 1

0

尝试这样的事情:

$('#outsideFormbutton').on('click', function()
{
   // This will call your form submit button
   $('#formButton').click();
});

$('#formButton').on('click', function(e)
{
   // Prevents the default action of the form button
   e.preventDefault();
   // Manually submit your form
   $('#myForm').submit();
});
于 2013-08-07T16:09:20.057 回答