MVC 5 Pretty URL

时间:2018-04-22 08:14:40

标签: asp.net-mvc-5 url-rewriting routing

您好

我正在开发一个系统,要求我更改地址行中的URL。

为了获得简短版本,我们有一张所有卡车的个人资料页面,假设我们有一辆名为SuperTransport的卡车,所以我做了一个路由,允许我们通过输入http:// app来访问他的个人资料页面.fragtopgaver.dk / SuperTransport,现在的问题是,当你进入他的个人资料页面时,网址中会显示其他内容,其中显示http://app.fragtopgaver.dk/getindex/?slug=supertransport

我需要在登陆页面时在网址中显示http://app.fragtopgaver.dk/SuperTransport

我的路由如下:

routes.MapRoute(
name: "slug",
url: "{slug}",
defaults: new { controller = "Home", action = "show" },
constraints: new { slug = ".+" });

在我的家庭控制器中

public async Task<ActionResult> Show(string slug)
{
return RedirectToRoute(ProfileControllerRoute.GetIndex, new { slug = slug});
}

和我的个人资料控制器

[Route("GetIndex", Name = ProfileControllerRoute.GetIndex)]
public ActionResult Index(int? page, string slug = null)

希望有人能给我一些关于我能做些什么的提示。

1 个答案:

答案 0 :(得分:-1)

答案很简单,只需要添加

[Route("{slug}")]

到控制器