编程语言
首页 > 编程语言> > c#-仅在特定参数时匹配路由

c#-仅在特定参数时匹配路由

作者:互联网

我正在尝试创建仅在URL中使用特定参数时才匹配的路由.

例如:

routes.MapRoute(
                name: "BannerAds",
                url: "Go/{Web}",
                defaults: new { controller = "CommunicationsAlias", action = "BannerAds", web = UrlParameter.Optional }
                );

我希望URL匹配http://www.domain.com/Go/Web?=111222

但不适用于http://www.domain.com/Go/Advertising

如何更改路线以这种方式运行?

解决方法:

您需要在路由中将那部分url设为静态,然后:

routes.MapRoute(
                name: "BannerAds",
                url: "Go/Web",
                defaults: new { controller = "CommunicationsAlias", action = "BannerAds" }
            );

然后将那条路线放在您更一般的路线上方:

routes.MapRoute(
                name: "BannerAds",
                url: "Go/{Web}",
                defaults: new { controller = "CommunicationsAlias", action = "BannerAds", web = UrlParameter.Optional }
                );

标签:asp-net-mvc-4,asp-net,c,asp-net-mvc,asp-net-mvc-3
来源: https://codeday.me/bug/20191123/2066779.html