我成功使用ASP.NET友好URL,但我需要忽略特定Foo.aspx页面的路由(因为此页面需要POST数据,并且一旦重新路由POST数据就不再可用了Page_Load()!).
看起来使用ASP.NET友好URL会丢弃任何忽略路由的尝试.一旦使用ASP.NET友好URL路由,即使用于忽略路由的MSDN示例也不起作用:
routes.Ignore("{*allaspx}", new {allaspx=@".*\.aspx(/.*)?"});
Run Code Online (Sandbox Code Playgroud)
而忽略Foo.aspx代码的路径应该是这样的,不是吗?
routes.Ignore("{*fooaspx}", new { fooaspx = @"(.*/)?foo.aspx(/.*)?" });
Run Code Online (Sandbox Code Playgroud)
该Global.asax代码如下所示:
public static void RegisterRoutes(RouteCollection routes) {
// This doesn't work whether I put this code before or after ASP.NET Friendly URLs code.
routes.Ignore("{*allaspx}", new { allaspx = @".*\.aspx(/.*)?" });
routes.Canonicalize().Lowercase();
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
}
void Application_Start(object sender, EventArgs e) {
RegisterRoutes(RouteTable.Routes);
}
Run Code Online (Sandbox Code Playgroud)
在ASP.NET Friendly URL codeplex网站上已经提出了这个问题,但没有得到答案.
谢谢你的帮助:)