相关疑难解决方法(0)

如何在使用ASP.NET友好URL时忽略某些路由?

我成功使用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网站上已经提出了这个问题,但没有得到答案.

谢谢你的帮助:)

asp.net routes friendly-url

6
推荐指数
1
解决办法
4460
查看次数

标签 统计

asp.net ×1

friendly-url ×1

routes ×1