使用HTML.ActionLink调用Post方法

Roh*_*hit 3 razor asp.net-mvc-4

我已经阅读了类似问题的多篇帖子,但没有奏效.

我有一个固定的页脚按钮,并在调用项目控制器中的"发布"版本编辑操作时面临问题.这就是我想要做的

错误

如果问题需要进一步解释,请告诉我.

(我尝试使用Ajax.ActionLink,这也是在多个帖子中提出的,但没有成功.

类似问题

Roh*_*hit 7

最后,我设法通过一些解决方法来修复它.在这里发布解决方案以帮助某人.

就像我之前说的那样,我尝试使用Ajax.ActionLink,但我无法实现相同的目标.相反,我从表格之外寻找呼叫表单提交操作,这是我在这里真正需要的.

表单:为表单命名,说"editProjDetailsForm"
@using (Html.BeginForm(null, null, FormMethod.Post,
new { @class = "form-horizontal",
name = "editProjDetailsForm" }))

页脚:从页脚按钮调用此方法.

<input type="button" onclick="document.editProjDetailsForm.submit();" 
       class="btn btn-primary"
       value="Save Changes" />
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个,但它没有锻炼:

@Ajax.ActionLink("Save Changes", "Edit", new { id = Model.ProjectId }, 
              new AjaxOptions { HttpMethod = "POST" })
Run Code Online (Sandbox Code Playgroud)

有用的帖子

  1. 使用Begin Form命名表单
  2. 在HTML.BeginForm之外提交Button
  3. 在HTML.BeginForm之外提交Button(另一个链接)
  4. ASP.net ActionLink和POST方法
  5. 如果在ViewModel中有参数化构造函数并且未声明无参数构造函数,则会出错

如果您使用bootstrap显示问题在页脚中我有一个输入类型=按钮和一个带有class =按钮的操作链接.两者都嵌套在一个btn组中,但高度在后面的快照中显示为不同:

不同的按钮

修复:发现它是一个已知问题,并且有一个建议的解决方案,但对我来说没有太多帮助(即对于Internet Explorer). btn-group中的input type = submit和anchor按钮显示为不同的大小

解决方案:添加.btn { line-height:normal!important; }或者如果您只想对特定按钮执行操作,请按上述输入按钮执行以下操作:

<input type="button" onclick="document.editProjDetailsForm.submit();" 
     class="btn btn-primary"
     value="Save Changes" 
     style="line-height:normal!important;" />
Run Code Online (Sandbox Code Playgroud)