剃刀助手没有解决提交表单的正确操作。
如何在Razor助手中设置正确的操作?
因此,我在我的PortfolioController上有以下操作
[HttpGet]
[Route("profile/edit", Name = "edit-profile")]
public ActionResult Edit()
{
...
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Edit(EditPortfolioViewModel model)
{
...
}我的表格就像
@using (Html.BeginForm("Edit", "Portfolio", FormMethod.Post, ...)但形式行动的解决方式是:
<form action="/profile/edit" ...>而不是
<form action="/Portfolio/Edit" ...>我知道我可以简单地更改Action方法名,但是我想保留它们的名称。
发布于 2017-02-28 03:08:44
可以使用[ActionName("")]属性将操作名称更改为所需的名称。
[HttpGet]
[Route("profile/edit"]
[ActionName("edit-profile")]
public ActionResult Edit()
{
...
}你的路线开始的形式是
@using (Html.BeginForm("edit-profile", "Portfolio", FormMethod.Post, ...)发布于 2017-02-27 23:14:59
在一个新项目上重新创建它,看起来就像路由延迟使用到get操作的路由的预期行为,因此它发布到相同的操作名称(因为路由表没有HTTP方法的概念)。在post操作中添加一个新的路径不会有帮助。
https://stackoverflow.com/questions/42495806
复制相似问题