Проблема маршрутизации MVC

У меня есть контроллер продукта и два метода редактирования и загрузки файла. что я должен сделать в моей конфигурации маршрута, чтобы эти два работали.

Продукт /6 (для редактирования продукта 6)

Product / Fileupload (для загрузки файла).

мой текущий маршрут в routeconfig выглядит следующим образом:

     routes.MapRoute(
        name: "editProducts",
        url: "Product/{id}",
        defaults: new { controller = "Product", action = "Edit", id=UrlParameter.Optional }
    );

3 ответа

Добавьте следующие маршруты (в этом порядке) до значения по умолчанию. Я предположил, что вам всегда нужен идентификатор для редактирования, поэтому id параметр не является обязательным (но вы могли бы сделать это так), и я не был уверен, нужно ли вам передавать параметр в метод FileUpload

routes.MapRoute(
  name: "Upload",
  url: "Product/FileUpload/{id}",
  defaults: new { controller = "Product", action = "FileUpload", id = UrlParameter.Optional }
);

routes.MapRoute(
  name: "editProducts",
  url: "Product/{id}",
  defaults: new { controller = "Product", action = "Edit" }
);

Добавьте следующие маршруты в том же порядке, прежде чем по умолчанию.

    routes.MapRoute(
        name: "fileupload",
        url: "{controller}/{action}",
        defaults: new { controller = "Product", action = "Fileupload"}
    );

    routes.MapRoute(
        name: "editProducts",
        url: "Product/{id}",
        defaults: new { controller = "Product", action = "Edit", id=UrlParameter.Optional }
    );

Попробуйте следующее:

routes.MapRoute(
        name: "editProducts",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Product", action = "Edit", id=UrlParameter.Optional }
    );
Другие вопросы по тегам