web-dev-qa-db-ja.com

URLのASP.NET MVCコントローラー名を変更する方法は?

"example_name"がある場合は、[ActionName( "")]を使用してURLで変更できます。

私がすることができます:

ControllerName> example_nameController> URL:"/ example_controller"

URLのコントローラ名を次のように変更します:"/ example-conroller"

16
Cagatay

Routes.csを介してこれを行うことができます

routes.MapRoute(
      name: "Controller",
      url: "example-controller/{action}",
      defaults: new { 
      controller = "ControllerName", action ="Index"
      }   
);

この質問の答えを見れば、別の方法もあります: ASP.NET MVCで動的コントローラーとアクションメソッドを実現する方法?

13
Jamie Rees

user449689sの答えは良いですが、彼はあなたが追加する必要があることを言及するのを忘れました

routes.MapMvcAttributeRoutes();

routeConfig.csのRegisterRoutes()に

11
Murphybro2

属性ルーティング を使用できます。

[RoutePrefix("Users")]
public class HomeController : Controller
{
    //Route: Users/Index
    [Route("Index")]
    public ActionResult Index()
    {
        return View();
    }
}
3
Givi

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+"} 
  ); 
2
Lalji Dhameliya