如何更改 url 因为参数看起来像 mvc 中的控制器名称
How to change url as parameter will look like controller name in mvc
目前地址栏中的url显示为
example.com/?City=Canada¶1=¶2=&....
是否有可能使 url 成为:
example.com/Canada/?para1=¶2=&....
正在使用以下路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但是是否可以在不创建 "Canada" 控制器或操作方法的情况下执行此操作?
它也应该做与第一个 url 相同的事情。
只需在您当前的默认路线之前放置类似以下内容。
routes.MapRoute(
name: "CityDefault",
url: "{city}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
本质上,这只是说路由中的第一条路径构成了一个"city"参数。因此,在像 /Canada/
这样的路由中,city
将是 "Canada",而 controller
/action
将是 "Home" 和 "Index"(因为它们没有在路线中提供)。
注:你知道加拿大不是一个城市吧?
目前地址栏中的url显示为
example.com/?City=Canada¶1=¶2=&....
是否有可能使 url 成为:
example.com/Canada/?para1=¶2=&....
正在使用以下路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但是是否可以在不创建 "Canada" 控制器或操作方法的情况下执行此操作? 它也应该做与第一个 url 相同的事情。
只需在您当前的默认路线之前放置类似以下内容。
routes.MapRoute(
name: "CityDefault",
url: "{city}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
本质上,这只是说路由中的第一条路径构成了一个"city"参数。因此,在像 /Canada/
这样的路由中,city
将是 "Canada",而 controller
/action
将是 "Home" 和 "Index"(因为它们没有在路线中提供)。
注:你知道加拿大不是一个城市吧?