MapPageRoute()与网站的根目录反复加载目标资源

问题描述 投票:0回答:1

我在Global.asax.cs中有以下一行:

routes.MapPageRoute( "Resorts", "{resortname}", "~/Pages/ViewResort.aspx" );

目的是允许这样的请求:

www.mysite.com/some-resort-name

加载此资源(或多或少)

www.mysite.com/Pages/ViewResort.aspx?resortname=some-resort-name

此行为正常。但是,我注意到[[every每次请求任何资源时都在加载ViewResort.aspx,这大概是因为我的路线不包含文字路径段,就像这种替代方法是这样:

routes.MapPageRoute( "Resorts", "Resort/{resortname}", "~/Pages/ViewResort.aspx" );
我的客户坚持认为,URL中主机名之后的唯一字符是度假胜地名称,因此无法使用备用路由。

所以我的问题是:当RouteUrl指向站点的根目录时,它需要做些特别的事情吗?如果失败,是否可以在目标页面上实现特定模式(在这种情况下为ViewResort.aspx)以防止在每个页面请求中加载和丢弃该模式?

c# asp.net routes global-asax
1个回答
1
投票
您的路线是万能的。在这种情况下,您需要在[全部]路由

之前]提供特定的路由,以便针对这些特定的路由给出正确的响应。换句话说,唯一通向全部捕获的路由是必须重定向到Pages / ViewResort.aspx。的路由。

© www.soinside.com 2019 - 2024. All rights reserved.