0

我正在开发一个 MVC6 应用程序,我想要一个按钮来将视图模型发布到控制器。我使用 taghelper 有以下标记 -

<a asp-route-area="MyArea" asp-controller="MyController" asp-action="MyAction">Save</a>

这是我在视图中的模型声明 -

@model MyObject

这是我的控制器动作 -

public IActionResult MyAction(MyObject mo)
{            
     return new EmptyResult();
}

当我单击按钮时,它已正确路由到控制器,但模型对象为空。如何让整个模型在按钮单击时发回控制器?

仅供参考 - 我的目标是在表单上有多个按钮,这些按钮将根据单击的按钮将视图模型发布到不同的 mvc 控制器。

编辑 - 我不一定需要它发布到不同的控制器/动作。我能够让控制器决定如何处理,这似乎完成了我所需要的。

4

2 回答 2

0

您可以在按钮上使用 html 表单操作

就像是 :

<form action="/submitNormal" method="get">
   First name: <input type="text" name="fname"><br>
   Last name: <input type="text" name="lname"><br>
   <button type="submit">Submit normal</button><br>
   <button type="submit" formaction="="/submitDifferent">Submit different</button>
</form> 

不确定浏览器是否支持。

于 2015-08-31T10:32:14.720 回答
0

我最终使用了此处概述的解决方案。本质上,它的工作方式是创建两个具有不同名称的按钮,并让控制器使用按钮名称获取参数。然后我只检查这些参数,如果它们有值,我就以这种方式处理。

于 2015-08-27T18:50:17.787 回答