помощник тега asp-action выводит лишние сегменты - PullRequest
0 голосов
/ 13 января 2019

Проблема: помощник тега 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...