如何在MVC 4中更改URL格式?

Tah*_*bal 0 c# asp.net-mvc

目前我的网址如下所示:

http://localhost:9737/ProfileEdit?writerId=4
Run Code Online (Sandbox Code Playgroud)

但我希望它是这样的:

http://localhost:9737/ProfileEdit/4
Run Code Online (Sandbox Code Playgroud)

这是我的行动签名:

public ActionResult ProfileEdit(long writerId)
Run Code Online (Sandbox Code Playgroud)

我尝试在RouteConfig文件中添加新路由,如下所示:

routes.MapRoute(
           name: "ProfileEdit",
           url: "{controller}/{action}/{id}",
           defaults: new { controller = "Home", action = "ProfileEdit", writerId = UrlParameter.Optional }
       );
Run Code Online (Sandbox Code Playgroud)

但没有运气..所以如何更改URL格式?

Dav*_*vid 5

该路由将参数定义为id:

url: "{controller}/{action}/{id}"
Run Code Online (Sandbox Code Playgroud)

但你正在使用writerId:

http://localhost:9737/ProfileEdit?writerId=4
Run Code Online (Sandbox Code Playgroud)

更改匹配的路线:

url: "{controller}/{action}/{writerId}"
Run Code Online (Sandbox Code Playgroud)

请注意,这将有助于对使用该路由的每个 URL进行此更改.