【发布时间】:2009-05-08 11:04:04
【问题描述】:
我正在使用 ASP.NET 3.5 中的新路由功能来充当对我网站的页面请求的全部功能。我在 global.asax 中注册了我的路线,如下所示,
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection Routes)
{
Route r = new Route("{*URL}", new MyRouteHandler());
Routes.Add(r);
}
</script>
该代码对除 /(根页面)之外的所有 URL 都非常有效。如果我转到任何其他 URL /blah/something/foo/ 它工作正常并且我的处理程序按预期运行。
我怎样才能让它在根页面上运行?我正在通过 Visual Studio 2008 的内置 Web 服务器运行代码。
【问题讨论】:
-
我最终找到的最佳解决方案是创建一个空白的 aspx 文件。然后这个 aspx 文件被调用到上面描述的 MyRoutHandler 对象上使用的相同方法中,传入一个硬编码的 URL “/”。