【发布时间】:2015-11-22 05:45:55
【问题描述】:
我正在开发一个 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 控制器。
编辑 - 我不一定需要它发布到不同的控制器/动作。我能够让控制器决定如何处理,这似乎完成了我需要的。
【问题讨论】:
-
如果要发布,则需要使用表单和按钮或输入类型=提交,并且模型属性必须与表单内的元素相对应。一个链接/锚标签只会发出一个没有提交模型的获取请求,它不会发布任何东西,它只是一个链接
-
如果您想制作一个使用不同按钮发布到不同控制器/动作的表单,那么您需要在单击按钮时添加一些 javascript 以更改表单动作,然后提交形式。
-
我最终遵循了这里提到的过程 - visualstudiomagazine.com/articles/2014/11/01/…
标签: asp.net-core-mvc tag-helpers