我对提交表单的 ASP.Net MVC 4 formcollection 有一个奇怪的问题。以下是实际情况:
- ASP.Net MVC 4 项目
- 我在具有多个输入的视图上有一个表单。
- 我在表单上有两个提交按钮,每个按钮都有不同的名称,每个按钮都映射到视图控制器中的不同操作(使用 HttpParamActionAttribute)。
- 我在表单外有两个带有 onclick 事件的 Actionlink 按钮,它们指向表单内的两个提交按钮中的每一个。换句话说,当单击这些按钮中的每一个时,它会生成对表单中相应提交按钮的单击。
- 我遇到的问题是,如果按下 actionlink 按钮,控制器中提交的表单的 FormCollection 不正确。如果直接按下表单按钮,那么所有正确的表单值都会在表单集合中看到。但是,如果按下 actionlink 按钮,则 formcollection 不会显示提交表单的值。相反,它显示表单的旧(默认)值。
为什么有区别?
我认为如果 actionlink 按钮模拟了表单提交的点击,那么它会做与表单提交本身被按下一样的事情,但显然事实并非如此。为什么不?