404 MapPageRoute()在文件夹中路由aspx页面时出错

本文关键字:aspx 出错 路由 MapPageRoute 文件夹 | 更新日期: 2023-09-27 17:59:00

尝试在webforms中路由,得到404。我已经使用System.Web.Routing; 设置了我的global.asax.cs文件,如下所示

protected void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
        }
        private void RegisterRoutes(RouteCollection routes)
        {
            routes.MapPageRoute("ProfilePage",
            "Profile",
            "~/Manager/Profile.aspx");
        }

profile.aspx位于管理器文件夹中。不知道为什么它不起作用。如果有人能给我一些建议,我将不胜感激

我期望url localhost:60008/Manager/Profile/加载Profile.aspx页面。

404 MapPageRoute()在文件夹中路由aspx页面时出错

第二个参数指定URL。尝试:

routes.MapPageRoute("ProfilePage",
                    "Manager/Profile",
                    "~/Manager/Profile.aspx");

你第一次就对了。这里是一个有效的路由

routes.MapPageRoute("", "YourPage", "~/Your/full/url.aspx", true);

第一段可以为空,第二段是你要使用的,第三段是你页面的url,最后一段[可选]是检查文件是否存在。

我相信错误的地方在于你如何使用它,对于一个超链接,你会说

NavigateUrl="~/YourPage"

在html锚点中

href="~/YourPage" runat="server"

在浏览器地址栏中,它将显示如下http://YourDomain.com/YourPage/

这就是我的工作方式。就我个人而言,必须把文件夹放在那里会破坏使用路由的目的吗?