Проблема маршрутизации 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 }
);