MVC5 Изменить имя контроллера только без эффекта от действий внутри - PullRequest
0 голосов
/ 22 января 2020

Мне нужно изменить имя контроллера в MVC 5. Я выполнял следующие действия:

[RouteArea("Dispatch")]
[RoutePrefix("TrackedAssets")]
[Route("{action=index}")]
public class TrackedItemsController : MainControllerBase
{

Когда я пытаюсь нажать «Индекс», все в порядке. Но есть некоторые действия для CRUD, когда я пытался поразить их новым URL / Dispatch / TrackedAssets / Edit / 47. Это дает мне:

Описание: HTTP 404. Ресурс, который вы ищете (или одну из его зависимостей) можно было удалить, изменить его имя или временно недоступно. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно.

Запрошенный URL-адрес: / Lynx / Dispatch / TrackedAssets / Edit / 47

Ниже приведена подпись действия:

  public ActionResult Edit(int? id)

  [HttpPost]
  [ValidateAntiForgeryToken]
  public ActionResult Edit

1 Ответ

0 голосов
/ 28 января 2020

Запрошенный вами маршрут, т. Е. /Lynx/Dispatch/TrackedAssets/Edit/47, не будет вызывать какой-либо метод действия, поскольку вы не добавили префикс вашего метода действия Изменить к атрибуту маршрута так же, как вы установили атрибут маршрута для метода индекса.

[Route("{action=edit}")]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int? id)

Попробуйте это и, пожалуйста, пометьте это как ответ, если это вам помогло.

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