为了更好地组织我的 ASP.Net 项目,我将所有 .aspx 文件放在一个名为 WebPages 的文件夹中。
我想找到一种方法从我的所有 URL 中屏蔽“WebPages”文件夹。例如,我不想使用以下 URL:
http://localhost:7896/WebPages/index.aspx
http://localhost:7896/WebPages/Admin/security.aspx
但相反,我希望我的所有 URL 如下所示(“WebPages”是我用于构建工作的物理文件夹,但不应该对外界可见):
http://localhost:7896/index.aspx
http://localhost:7896/admin/security.aspx
通过为我的项目中的“每个页面”指定路由条目(并且它有效),我能够提出自己的解决方案,但这根本无法维护,我需要另一种方法。
public class Global : HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("", "index.aspx", "~/WebPages/index.aspx");
routes.MapPageRoute("", "admin/security.aspx", "~/WebPages/Admin/security.aspx");
}
}
也许我所追求的是一个捕获所有请求的类,并简单地附加我的“WebPages”物理目录?