【问题标题】:MapPageRoute() vs. Site's Root Directory Repeatedly Loads Target ResourceMapPageRoute() 与站点的根目录重复加载目标资源
【发布时间】:2012-10-03 13:48:13
【问题描述】:

我在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

这种行为可以正常工作。但是,我注意到ViewResort.aspx 正在被加载每次 任何资源被请求,大概是因为我的路线不包含文字路径段,就像这个替代方案会:

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

我的客户坚持认为 URL 中主机名之后的唯一内容是度假村名称,因此不可能使用备用路线。

所以我的问题是:当 RouteUrl 引用站点的根目录时,是否需要对它做一些特别的事情?如果做不到这一点,是否可以在目标页面(本例中为ViewResort.aspx)上实施特定模式以防止每个页面请求加载和丢弃它?

【问题讨论】:

    标签: c# asp.net routes global-asax


    【解决方案1】:

    您的路线是一个包罗万象的路线。在这种情况下,您需要在包罗万象的路线之前提供特定路线,以便为这些特定路线提供正确的响应。换句话说,唯一应该通过你的包罗万象的路由是必须重定向到 Pages/ViewResort.aspx 的路由。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 2012-07-31
      • 2016-08-16
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      相关资源
      最近更新 更多