【发布时间】:2016-09-10 14:08:03
【问题描述】:
我有一个 mvc 网站,其中指定了默认路由。
我的应用程序中有一个 url,定义为:
http://localhost:3729/Information?Cust_ID=1&Cust_IMAGE_ID=2
我的 URL 不会像上面那样显示,而是以上面的格式显示,但像下面的那样:
http://localhost:3729/Information/1/2
所以我定义了一个类似的路线:
routes.MapRoute(
name: "Information",
url: "{controller}/{action}/{Cust_ID}/{Cust_IMAGE_ID}",
defaults: new { controller = "Information", action = "Index", Cust_ID = UrlParameter.Optional, Cust_IMAGE_ID = UrlParameter.Optional
});
并将其添加到现有的 routeconfig.cs。
这条路线在路线表中排名第二。
当我运行应用程序并访问页面时,我没有得到我想要的格式。
当我把这条路线放在第一位时,我得到了我想要的功能,但应用程序直接打开了这个页面,而不是主页。
如何实现我想要的功能。
我的问题是 - 在路由表中定义的多条路由中,我想将一条路由设为默认路由。
【问题讨论】:
-
另一条路线是什么?并删除
Cust_ID = UrlParameter.Optional(只有最后一条路由可以是可选的,如果另一条路由是url: "{controller}/{action}/{id}则也删除Cust_IMAGE_ID = UrlParameter.Optional。
标签: asp.net-mvc routing