在asp.net c#中路由多个页面
本文关键字:路由 asp net | 更新日期: 2023-09-27 18:07:59
我正在尝试路由2页,但它只路由第一个注册的页面。下面是代码:
static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("DynamicCity", "{dCity}.aspx", "~/DynamicCity.aspx");
routes.MapPageRoute("DynamicPage", "{Description}.aspx", "~/DynamicPage.aspx");
}
为什么它只有路由DynamicCity?
我不确定这是否会帮助你,因为你没有指定你的URL方案是什么。但是,如果您只想将/DynamicCity.aspx
发送到~/DynamicCity.aspx
页面,并将所有其他页面路由到它们自己的名称,您可以这样做:
static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("Page", "{pageName}.aspx", "~/{pageName}.aspx");
}
但是,既然ASP。.NET无论如何都会这样做,我不确定你对。NET路由的期望。
通常,人们使用MapPageRoute
从URL中删除.aspx
扩展(如图所示)或完全更改URL。
static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("Page", "{pageName}", "~/{pageName}.aspx");
}
当两个路由都具有相同的{parameter}.aspx
形式时,路由系统应该如何知道两个路由之间的区别?它不能。由于路由是按顺序计算的,所以第一个具有优先级。