我确信这是一种简单的东西,我忽略 - 但它似乎很奇怪。ASP.NET Web表单路由返回404
在我的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");
}
我在添加的路由,也宣布不同的URL“关于”有和没有参数,并取出404路线的方法的顺序尝试不同的变化。
404重定向工作正常,重定向到“Page-Not-Found.aspx”。
Web.config文件中包含了为什么 “约” 的规则是行不通以下
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
任何想法?当我尝试去它或任何其他有效的路线,我创建它只是进入一个404页面。上面的404重定向路由工作正常(因为它显示主题页面)。但是,当我尝试浏览到“about”路由时,删除404路由仅会呈现标准的.NET/IIS 404页面。
我想我要补充一个问题,我使用的Visual Studio 2010开发和使用的ASP直接从VS测试。它发起的NET开发服务器,运行ASP.NET版本4.0.30319.18408 – Sivart