asp-action标签帮助程序输出多余的细分

时间:2019-01-13 15:38:31

标签: razor asp.net-core

问题:asp-action标记帮助程序输出的URL包含太多细分。

我的Razor视图有这一行:

<form method="post" asp-action="Edit" asp-controller="Task">

当我对我的应用发布GET /Task/Edit/1时,上面的标记助手会导致:(请注意最后一段,1

<form method="post" action="/Task/Edit/1">

结尾的1困扰着我。我希望表单重新发回到/Task/Edit。我觉得我应该在路线上解决这个问题,但似乎无法找到正确的组合。


两种操作方法,一种用于查看详细信息,另一种用于应用更改。

[HttpGet]
public ActionResult Edit(string id)
{
    return View(_taskRepository.Get(new Guid(id)));
}
[HttpPost]
public IActionResult Edit(Task task)
{
    // ...
    return View(task);
}

public class Task
{
    public int TaskId { get; set; }   
}

我的路线:

routes.MapRoute(name: "Default",
    template: "{controller}/{action}/{id?}",
    defaults: new { controller = "Task", action = "Index" }
);

如何解决此问题,以便asp-action/Task/Edit元素中输出<form>1是哪里来的?

0 个答案:

没有答案