日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC中的路由IRouteConstraint方法应用实例

發布時間:2024/7/19 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC中的路由IRouteConstraint方法应用实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在如下代碼的寫法中:

public class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");        routes.MapPageRoute("Report", "report", "~/Content/page/report.aspx")        routes.MapRoute( name: "BaseManage", url: "Admin/BaseManage/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
       routes.MapRoute( name:
"Order", url: "Admin/OrderManage/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
       routes.MapRoute( name:
"Admin", url: "Admin/{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
       routes.MapRoute( name:
"Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
     }
  }

因為系統需要,方法RegisterRoutes中同時應用了MapPageRoute和MapRoute方法,這樣寫的后果就是所有的頁面加載時都跳轉到了WEBFORM頁面中,導致系統報錯。

報錯原因是兩種不同的方式之間有沖突,解決這個問題,需要給MapPageRoute加個約束,這時就用到了IRouteConstraint接口,看如下代碼:

public class MyCustomConstraint : IRouteConstraint{public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection){return routeDirection == RouteDirection.IncomingRequest;}}

然后按如下修改語句即可

//routes.MapPageRoute("Report", "report", "~/Content/page/report.aspx"); routes.MapPageRoute("Report", "report", "~/Content/page/report.aspx", true, null, new RouteValueDictionary { { "outgoing", new MyCustomConstraint() } });

?

轉載于:https://www.cnblogs.com/yuanfg/p/9015762.html

總結

以上是生活随笔為你收集整理的ASP.NET MVC中的路由IRouteConstraint方法应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。