URL路由将/pages/test.aspx转换为/ test

时间:2014-01-31 15:54:08

标签: c# asp.net webforms url-routing

我在asp web表单项目中创建了一个名为“pages”的文件夹。在这个文件夹中我有很多页面:

  • Test.aspx文件
  • hello.aspx

当我在浏览器中打开这些页面时,我得到:

  • www.domain.com/pages/test.aspx
  • www.domain.com/pages/hello.aspx

这是正常的,我知道。但是,如果我想删除网址中的/ pages并显示(没有.aspx),该怎么办:

  • www.domain.com/test*.aspx *
  • www.domain.com/hello*.aspx *

我可以通过为每个页面手动添加一个新路由(在RegisterRoutes()方法中)来实现这一点,但有没有办法动态地执行此操作?

我发现了这个问题,但我不知道是否可以将它用于此问题。 WebForms custom / dynamic routing

1 个答案:

答案 0 :(得分:1)

尝试这样的事情,不确定是否会这样做。但是你总是可以把你的页面放在根目录中。我认为这会奏效。

来源链接:http://msdn.microsoft.com/en-us/library/vstudio/cc668177(v=vs.100).aspx

routes.MapPageRoute("PageRoute","{page}", "~/pages/{page}.aspx");

不确定这是不是您要找的东西,这样您就可以执行以下操作:

Response.RedirectToRoute("PageRoute", new { page = "test" });