【发布时间】:2014-05-06 04:45:27
【问题描述】:
我确定这是我忽略的一些简单的事情——但它看起来很奇怪。
在我的 ASP.NET 4.0 Web 窗体应用程序中,我在“Global.asax”文件中声明了以下代码。
<%@ Import Namespace="System.Web.Routing" %>
...
protected void Application_Start(object sender, EventArgs e) {
RegisterRoutes(RouteTable.Routes);
}
....
public static void RegisterRoutes(RouteCollection routes) {
routes.MapPageRoute("404", "{*url}", "~/Page-Not-Found.aspx");
routes.MapPageRoute("", "about", "~/Default.aspx");
}
我在添加路由的顺序上尝试了不同的变体,也尝试了不同的方式来声明带有和不带参数的“about”的 URL,以及删除 404 路由。
404 重定向可以很好地重定向到“Page-Not-Found.aspx”。
Web.config 包含以下内容
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
任何想法为什么“关于”规则不起作用?当我尝试访问它或我创建的任何其他有效路线时,它只会转到 404 页面。上面的 404 重定向路由工作正常(因为它显示了主题页面)。但是,当我尝试浏览“关于”路由时,删除 404 路由只会呈现标准的 .NET/IIS 404 页面。
【问题讨论】:
-
我想我应该补充一点,我正在使用 Visual Studio 2010 进行开发,并使用它启动的 ASP.NET 开发服务器直接从 VS 进行测试,运行 ASP.NET 版本 4.0.30319.18408
标签: c# asp.net asp.net-mvc-routing