我试图建立以下路线:
routes.MapRoute(
name: "StaticPage",
url: "guide/{destination}/{controller}/{action}",
defaults: new { controller = "Home", action = "Index", destination = UrlParameter.Optional }
);
我的控制器如下:
public class FlightsController : Controller
{
public ActionResult Index(string destination= null, string origin=null)
{
// some code here
}
}
我想浏览此地址 - > www.somewebsite.com/guide/austria/flights
并达到我的行动指数(航班/索引),目的地=奥地利
有可能吗?如何?我试过的方法不起作用:/
答案 0 :(得分:1)
我怀疑问题是由于您定义路线的顺序。重要的是要注意它们是从上到下(首先定义,最后定义)进行评估。一旦找到有效匹配,它将停止检查其他匹配。
如果首先定义了“默认”路由,则会导致问题,因为它通常与许多URL模式匹配。
所以我建议你将“默认”移动到最后一个,这应该解决问题。始终尝试在顶部定义最严格的模式,并向下移动灵活的模式(如“默认”)。