"example_name"がある場合は、[ActionName( "")]を使用してURLで変更できます。
私がすることができます:
ControllerName> example_nameController> URL:"/ example_controller"
URLのコントローラ名を次のように変更します:"/ example-conroller"
Routes.cs
を介してこれを行うことができます
routes.MapRoute(
name: "Controller",
url: "example-controller/{action}",
defaults: new {
controller = "ControllerName", action ="Index"
}
);
この質問の答えを見れば、別の方法もあります: ASP.NET MVCで動的コントローラーとアクションメソッドを実現する方法?
user449689sの答えは良いですが、彼はあなたが追加する必要があることを言及するのを忘れました
routes.MapMvcAttributeRoutes();
routeConfig.csのRegisterRoutes()に
属性ルーティング を使用できます。
[RoutePrefix("Users")]
public class HomeController : Controller
{
//Route: Users/Index
[Route("Index")]
public ActionResult Index()
{
return View();
}
}
routes.csで指定できます
routes.MapRoute(
name: "College",
url: "Student/{studentId}",
defaults: new { controller = "Student", action = "Details"}
);
次のような制約を定義できます
routes.MapRoute(
name: "College",
url: "Student/{studentId}",
defaults: new { controller = "Student", action = "Details"},
constraints:new{id=@"\d+"}
);