精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Asp.net MVC5系列——Routing特性

網絡 路由交換
ASP.NET MVC 5支持一種新的路由協議,稱為路由特性。顧名思義,路由特性使用特性來定義路徑。

ASP.NET MVC 5支持一種新的路由協議,稱為路由特性。顧名思義,路由特性使用特性來定義路徑。路由特性使你的Web應用程序URI有了更多的控制。當然,MVC5也支持以前定義路由的方式,你可以在一個項目中混合使用這兩種方式來定義路由。

路由特性

例如,一個電子商務網站可能有以下的路由規則:

{productId:int}/{productTitle} 
Mapped to ProductsController.Show(int id)
{username} 
Mapped to ProfilesController.Show(string username)
{username}/catalogs/{catalogId:int}/{catalogTitle} 
Mapped to CatalogsController.Show(string username, int catalogId)

以往的ASP.NET MVC版本,該規則將設置在routeconfig.cs文件中,并指出實際控制器的Action方法,如:

  1. 1 routes.MapRoute( 
  2. 2     name: "ProductPage", 
  3. 3     url: "{productId}/{productTitle}", 
  4. 4     defaults: new { controller = "Products"action = "Show" }, 
  5. 5     constraints: new { productId = "\\d+" } 
  6. 6 ); 

當路由的定義與Action方法,在同一個源文件中而不是在外部配置類中聲明,它可以更容易的處理URI和行動之間的映射的。以前的路徑定義將使用以下,簡單的特性就可以達到目的:

  1. [Route("{productId:int}/{productTitle}")] 
  2. public ActionResult Show(int productId) { ... } 

使用路由特性

首先得啟用Attribute路由,我們可以調用MapMvcAttributeRoutes方法來啟用Attribute路由:

  1. public class RouteConfig 
  2.  { 
  3.      public static void RegisterRoutes(RouteCollection routes) 
  4.     { 
  5.         routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
  6.    
  7.         routes.MapMvcAttributeRoutes(); 
  8.     } 
  9.  } 

也可以和常規的路由設置一起使用。

  1. public static void RegisterRoutes(RouteCollection routes) 
  2.    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
  3.  
  4.    routes.MapMvcAttributeRoutes(); 
  5.   
  6.    routes.MapRoute( 
  7.         name: "Default", 
  8.        url: "{controller}/{action}/{id}", 
  9.         defaults: new { controller = "Home"action = "Index"id = UrlParameter.Optional } 
  10.     ); 

可選URI參數和參數的默認值

可以通過添加“?”標記一個參數為可選的參數,也可以為表單參數設置默認值(參數=value)。

  1.  1 public class BooksController : Controller 
  2.  2 { 
  3.  3     // eg: /books 
  4.  4     // eg: /books/1430210079 
  5.  5     [Route("books/{isbn?}")] 
  6.  6     public ActionResult View(string isbn) 
  7.  7     { 
  8.  8         if (!String.IsNullOrEmpty(isbn)) 
  9.  9         { 
  10. 10             return View("OneBook", GetBook(isbn)); 
  11. 11         } 
  12. 12         return View("AllBooks", GetBooks()); 
  13. 13     } 
  14. 14   
  15. 15     // eg: /books/lang 
  16. 16     // eg: /books/lang/en 
  17. 17     // eg: /books/lang/he 
  18. 18     [Route("books/lang/{lang=en}")] 
  19. 19     public ActionResult ViewByLanguage(string lang) 
  20. 20     { 
  21. 21         return View("OneBook", GetBooksByLanguage(lang)); 
  22. 22     } 
  23. 23 } 

在上面的例子中,/books和/books/1430210079將路由到View方法,前者將返回所有書的列表信息,后者將返回特定的書的信息。/books/lang和/books/lang/en將采用同樣的方式。

路由前綴

在同一個控制器里面,路由以相同的前綴開始,例如:

  1. 1 public class ReviewsController : Controller 
  2.  2 { 
  3.  3     // eg: /reviews 
  4.  4     [Route("reviews")] 
  5.  5     public ActionResult Index() { ... } 
  6.  6     // eg: /reviews/5 
  7.  7     [Route("reviews/{reviewId}")] 
  8.  8     public ActionResult Show(int reviewId) { ... } 
  9.  9     // eg: /reviews/5/edit 
  10. 10     [Route("reviews/{reviewId}/edit")] 
  11. 11     public ActionResult Edit(int reviewId) { ... } 
  12. 12 } 

你可以通過使用[routeprefix ]特性整個控制器設定一個共同的前綴:

  1. 1 [RoutePrefix("reviews")] 
  2.  2 public class ReviewsController : Controller 
  3.  3 { 
  4.  4     // eg.: /reviews 
  5.  5     [Route] 
  6.  6     public ActionResult Index() { ... } 
  7.  7     // eg.: /reviews/5 
  8.  8     [Route("{reviewId}")] 
  9.  9     public ActionResult Show(int reviewId) { ... } 
  10. 10     // eg.: /reviews/5/edit 
  11. 11     [Route("{reviewId}/edit")] 
  12. 12     public ActionResult Edit(int reviewId) { ... } 
  13. 13 } 

如果需要定義不同的路由前綴,可以在方法特性上使用波浪號~覆蓋原來的前綴,例如:

  1. 1 [RoutePrefix("reviews")] 
  2. 2 public class ReviewsController : Controller 
  3. 3 { 
  4. 4     // eg.: /spotlight-review 
  5. 5     [Route("~/spotlight-review")] 
  6. 6     public ActionResult ShowSpotlight() { ... } 
  7. 7   
  8. 8     ... 
  9. 9 } 

#p#默認路由

你也可以運用在控制器級別的[路徑]特性,將Action方法作為一個參數。該路由將被應用在控制器中的所有Action方法,除非Action方法使用了一個具體的[路由]特性,否則將使用控制器級別的默認路由。

  1. 1 [RoutePrefix("promotions")] 
  2.  2 [Route("{action=index}")] 
  3.  3 public class ReviewsController : Controller 
  4.  4 { 
  5.  5     // eg.: /promotions 
  6.  6     public ActionResult Index() { ... } 
  7.  7   
  8.  8     // eg.: /promotions/archive 
  9.  9     public ActionResult Archive() { ... } 
  10. 10   
  11. 11     // eg.: /promotions/new 
  12. 12     public ActionResult New() { ... } 
  13. 13   
  14. 14     // eg.: /promotions/edit/5 
  15. 15     [Route("edit/{promoId:int}")] 
  16. 16     public ActionResult Edit(int promoId) { ... } 
  17. 17 } 

由上可知,Action方法的路由特性的優先級大于控制器路由特性的優先級。

路由約束

路由約束,使你限制路由模版中的參數是如何匹配的,一般的語法為{parameter:constraint},例如:

  1. 1 // eg: /users/5 
  2. 2 [Route("users/{id:int}"] 
  3. 3 public ActionResult GetUserById(int id) { ... } 
  4. 4   
  5. 5 // eg: users/ken 
  6. 6 [Route("users/{name}"] 
  7. 7 public ActionResult GetUserByName(string name) { ... } 

這里,如果id為int類型,將選擇***個路由,否則選擇第二個路由。

下表列出了支持的約束:

 

 

注意,其中一些帶min的約束,可以帶參數。

你也可以在一個參數上應用多個約束,多個約束以分號";"分割,例如:

  1. 1 // eg: /users/5 
  2. 2 // but not /users/10000000000 because it is larger than int.MaxValue, 
  3. 3 // and not /users/0 because of the min(1) constraint. 
  4. 4 [Route("users/{id:int:min(1)}")] 
  5. 5 public ActionResult GetUserById(int id) { ... } 

通過問號"?"可以在內聯約束中指定可選參數,例如:

  1. 1 // eg: /greetings/bye 
  2. 2 // and /greetings because of the Optional modifier, 
  3. 3 // but not /greetings/see-you-tomorrow because of the maxlength(3) constraint. 
  4. 4 [Route("greetings/{message:maxlength(3)?}")] 
  5. 5 public ActionResult Greet(string message) { ... } 

自定義路由約束

可以通過實現接口IRouteConstraint 自定義路由約束,例如,定義一個參數有效性的約束:

  1.  1 public class ValuesConstraint : IRouteConstraint 
  2.  2 { 
  3.  3     private readonly string[] validOptions; 
  4.  4     public ValuesConstraint(string options) 
  5.  5     { 
  6.  6         validOptions = options.Split('|'); 
  7.  7     } 
  8.  8   
  9.  9     public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) 
  10. 10     { 
  11. 11         object value; 
  12. 12         if (values.TryGetValue(parameterName, out value) && value != null) 
  13. 13         { 
  14. 14             return validOptions.Contains(value.ToString(), StringComparer.OrdinalIgnoreCase); 
  15. 15         } 
  16. 16         return false; 
  17. 17     } 
  18. 18 } 

然后將自定義的約束進行注冊:

  1. 1 public class RouteConfig 
  2.  2 { 
  3.  3     public static void RegisterRoutes(RouteCollection routes) 
  4.  4     { 
  5.  5         routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
  6.  6   
  7.  7         var constraintsResolver = new DefaultInlineConstraintResolver(); 
  8.  8   
  9.  9         constraintsResolver.ConstraintMap.Add("values", typeof(ValuesConstraint)); 
  10. 10   
  11. 11         routes.MapMvcAttributeRoutes(constraintsResolver); 
  12. 12     } 
  13. 13 } 

#p#現在,你就可以在你的路由中使用該自定義的約束了

  1. 1 public class TemperatureController : Controller 
  2. 2 { 
  3. 3     // eg: temp/celsius and /temp/fahrenheit but not /temp/kelvin 
  4. 4     [Route("temp/{scale:values(celsius|fahrenheit)}")] 
  5. 5     public ActionResult Show(string scale) 
  6. 6     { 
  7. 7         return Content("scale is " + scale); 
  8. 8     } 
  9. 9 } 

路由名

你可以為一個路由指定一個名稱,以便生成相應的url。例如:

  1. 1 [Route("menu", Name = "mainmenu")] 
  2. 2 public ActionResult MainMenu() { ... } 

你可以使用 Url.RouteUrl 來生成相應的 URL

  1. <a href="@Url.RouteUrl("mainmenu")">Main menu</a> 

區域(Area)

你可以使用特性[RouteArea]指定一個控制器屬于某個區域,當這樣做時,你可以安全的移除該區域的AreaRegistration 類:

  1. 1 [RouteArea("Admin")] 
  2.  2 [RoutePrefix("menu")] 
  3.  3 [Route("{action}")] 
  4.  4 public class MenuController : Controller 
  5.  5 { 
  6.  6     // eg: /admin/menu/login 
  7.  7     public ActionResult Login() { ... } 
  8.  8   
  9.  9     // eg: /admin/menu/show-options 
  10. 10     [Route("show-options")] 
  11. 11     public ActionResult Options() { ... } 
  12. 12   
  13. 13     // eg: /stats 
  14. 14     [Route("~/stats")] 
  15. 15     public ActionResult Stats() { ... } 
  16. 16 } 

使用該控制器,下面的鏈接將產生下面的url:"/Admin/menu/show-options"

Url.Action("Options", "Menu", new { Area = "Admin" }) 

你也可以使用AreaPrefix參數建立一個自定義的區域前綴,例如:

[RouteArea("BackOffice", AreaPrefix = "back-office")]

如果你同時使用帶有路由特性的區域和帶有(AreaRegistration 類創建的)傳統路由的區域這兩種方式 的話,你應該在配置MVC路由特性之后,默認傳統路由之前注冊區域,原因很簡單,路由注冊順序必須是從最精確的匹配規則開始再到普通的匹配規則,***才是模糊的匹配規則,這樣就避免了在進行路由匹配時,過早的匹配了模糊規則,而相對精確的匹配起不到任何作用。下面的例子展示了這一點:

  1.  1 public static void RegisterRoutes(RouteCollection routes) 
  2.  2 { 
  3.  3     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
  4.  4   
  5.  5     routes.MapMvcAttributeRoutes(); 
  6.  6   
  7.  7     AreaRegistration.RegisterAllAreas(); 
  8.  8   
  9.  9     routes.MapRoute( 
  10. 10         name: "Default", 
  11. 11         url: "{controller}/{action}/{id}", 
  12. 12         defaults: new { controller = "Home"action = "Index"id = UrlParameter.Optional } 
  13. 13     ); 
  14. 14 } 

 

本文主要學習了asp.net mvc5路由的新特性,在查看mvc5的資料的時候,看到的一篇文章,覺得不錯,就認真的看了一遍,試著用自己的語言翻譯了原文,也許有翻譯不到位的地方,望諒解。

 

責任編輯:林琳 來源: 博客園
相關推薦

2015-06-18 14:13:36

ASP.NET

2009-03-12 10:42:38

RoutingIgnoreRouteASP.NET

2009-08-19 09:23:40

ASP.NET Rou

2015-06-18 17:37:19

ASP.NET

2009-07-21 15:11:14

ASP.NET Rou

2015-06-18 16:29:14

ASP.NET

2010-10-12 09:52:02

ASP.NET MVC

2011-01-15 23:07:59

2009-07-31 12:43:59

ASP.NET MVC

2015-06-18 16:39:17

ASP.NET

2015-06-18 17:04:22

ASP.NET

2015-06-17 14:42:04

ASP.NET

2015-06-16 15:01:59

ASP.NET 5

2015-06-17 16:01:30

ASP.NET

2015-06-17 16:45:28

ASP.NET

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-20 16:44:56

ASP.NET MVCIValueProvi

2010-12-07 09:38:15

ASP.NET MVC

2010-02-03 09:50:58

ASP.NET MVC

2015-06-18 14:25:56

ASP.NET
點贊
收藏

51CTO技術棧公眾號

久久综合九色99| 国产精品久久久久9999| 亚洲成人av免费在线观看| 97蜜桃久久| 欧美极品少妇xxxxⅹ高跟鞋 | 中文字幕在线2021| 国产精品videossex| 欧美在线观看视频一区二区三区| 潘金莲一级淫片aaaaa免费看| 熟妇高潮一区二区三区| 麻豆精品国产91久久久久久| 久久久最新网址| 亚洲毛片亚洲毛片亚洲毛片| 黄色网一区二区| 欧美日韩中文另类| 久久精品国产sm调教网站演员| 一区二区高清不卡| 99久久夜色精品国产网站| 91精品久久久久久久久| 精品久久免费视频| 偷偷www综合久久久久久久| 日韩精品在线免费| 精品国产乱码久久久久夜深人妻| 国产a亚洲精品| 欧美日韩黄色大片| 欧美高清中文字幕| 中文字幕在线免费| 久久久精品2019中文字幕之3| 不卡的av一区| 91精品中文字幕| 亚洲自啪免费| 69av在线视频| 精品无码久久久久| 亚洲精品电影| 日韩中文av在线| 国产探花视频在线播放| 性欧美lx╳lx╳| 日韩av在线网页| youjizz.com日本| 日本亚洲视频| 3d成人h动漫网站入口| 在线观看高清免费视频| free欧美| 欧美视频中文字幕| 国产理论在线播放| 日本中文字幕一区二区| 日韩欧美精品在线观看| 日日摸日日碰夜夜爽无码| 欧美大片黄色| 亚洲成a人片综合在线| 色婷婷777777仙踪林| 天堂资源在线中文| 中文字幕日韩av资源站| 在线观看日韩片| 毛片网站在线免费观看| 中文字幕一区视频| 一区二区三区国产福利| 免费**毛片在线| 亚洲欧美偷拍卡通变态| 色婷婷777777仙踪林| 1区2区在线观看| 亚洲午夜精品17c| 亚洲国产精品无码观看久久| 91黄页在线观看| 午夜精品视频一区| 久草精品在线播放| 国产精品蜜月aⅴ在线| 欧美日韩和欧美的一区二区| 国产探花在线看| 久久亚洲精精品中文字幕| 欧美va亚洲va| 国产高清自拍视频| 欧美日韩水蜜桃| 久久九九免费视频| 国产亚洲精品久久久久久打不开| 亚洲国产网站| 国产成人一区二区三区电影| 中文字幕在线观看免费| 国产一区二区看久久| 国产精品久久国产精品| 国产一区二区三区福利| 中文字幕亚洲不卡| 加勒比成人在线| 欧美free嫩15| 欧美一区永久视频免费观看| 国产香蕉精品视频| 深爱激情久久| 欧美精品一区二区免费| 亚洲男人的天堂在线视频| 九一九一国产精品| 精品欧美国产| 二区在线播放| 黑人极品videos精品欧美裸| 久久黄色片网站| 麻豆一区二区| 久久综合久久美利坚合众国| 圆产精品久久久久久久久久久| 日韩va亚洲va欧美va久久| 91嫩草免费看| a√资源在线| 性久久久久久久久| 五月激情五月婷婷| 亚洲伊人春色| 欧美黄色三级网站| 久久精品国产亚洲av麻豆蜜芽| 国产成人av电影在线观看| 欧美日韩精品免费看| 97caopron在线视频| 欧美在线视频日韩| 无码一区二区精品| 午夜久久美女| 国产美女精品视频免费观看| 人人妻人人玩人人澡人人爽| 亚洲欧美日韩人成在线播放| 韩国一区二区av| 国产乱论精品| 美女av一区二区三区| 男人天堂av在线播放| 成人av午夜电影| 成人高清dvd| 先锋影音网一区二区| 亚洲欧美一区二区三区在线 | 欧美精品一级| 国产欧洲精品视频| 久草视频视频在线播放| 欧美日韩国产在线播放| 丰满人妻一区二区三区免费视频棣| 不卡视频在线| 国产精品极品在线| 毛片在线免费| 欧美性xxxxx极品| 蜜臀av粉嫩av懂色av| 午夜精品久久久久99热蜜桃导演| 国产精品直播网红| 爱爱爱免费视频在线观看| 欧美日韩国产一区中文午夜| 免费不卡的av| 亚洲一级高清| 国产欧美在线一区二区| 久久香蕉一区| 精品国产第一区二区三区观看体验| 中文字幕五月天| 狠狠色伊人亚洲综合成人| 午夜一区二区三区| 成人精品电影在线| 永久免费精品影视网站| 波多野结衣一区二区在线| 国产亚洲欧美激情| www.色偷偷.com| 不卡在线一区| 成人国产在线视频| 黄色成年人视频在线观看| 欧美一区二区成人6969| 日本精品人妻无码77777| 国产精品亚洲а∨天堂免在线| 天天做天天爱天天高潮| 欧美影院精品| 久久久日本电影| 五十路在线视频| 色8久久精品久久久久久蜜| 免费一级做a爰片久久毛片潮| 久久www成人_看片免费不卡| 欧美中日韩一区二区三区| 成人精品电影在线| 久久久精品视频成人| 亚洲av无码乱码国产麻豆 | 欧美一区二区三区久久久| 国产亚洲精品bt天堂精选| 麻豆一区二区三区视频| 亚洲成人精品| 国产精品一区二区三区在线观| 91色在线看| 亚洲一级片在线看| 亚洲一区二区人妻| 亚洲一级在线观看| av小说在线观看| 精品在线亚洲视频| 免费看日本黄色| 伊甸园亚洲一区| 国产区亚洲区欧美区| 特级毛片在线| 亚洲欧美日韩精品久久| 国产精品视频一二区| 亚洲午夜视频在线观看| 一本加勒比北条麻妃| 激情五月激情综合网| 九九热只有这里有精品| 国产欧美日韩精品一区二区三区| 91麻豆国产语对白在线观看| xxxcom在线观看| 在线播放日韩精品| 国模无码一区二区三区| 在线观看亚洲a| 久草福利资源在线观看| 国产欧美日韩一区二区三区在线观看 | 国产网站在线免费观看| 日韩电影视频免费| 91久久久久久久久久久久| 天天综合网 天天综合色| 一本在线免费视频| 99久精品国产| 特级黄色片视频| 日韩精品乱码免费| 成人午夜免费在线| 天天做天天爱综合| 日本精品一区二区三区视频| 91九色鹿精品国产综合久久香蕉| 国产精品美女免费| 日韩脚交footjobhd| 久久这里有精品| 国产黄色在线| 亚洲精品国产综合区久久久久久久| 91国偷自产中文字幕久久| 精品日韩中文字幕| 欧美精品乱码视频一二专区| 中文字幕免费一区| 亚洲欧美日韩综合| 日本熟妇成熟毛茸茸| 国产精品久久久久三级| 香蕉网在线播放| 成人深夜在线观看| 午夜免费福利网站| 久久激五月天综合精品| 日本成人黄色网| 一本不卡影院| 日韩黄色短视频| 欧美不卡视频| 国产麻豆电影在线观看| 成人在线免费观看91| 欧美亚洲另类在线一区二区三区 | 日韩一区二区在线免费观看| 午夜视频网站在线观看| 日韩欧美中文字幕在线播放| 国产精彩视频在线观看| 亚洲卡通欧美制服中文| 东方av正在进入| 亚洲欧美自拍偷拍| 中文字幕无码日韩专区免费| 国产精品视频一区二区三区不卡| 亚洲av综合一区二区| 久久午夜色播影院免费高清| 中文字幕在线播放一区| 成人禁用看黄a在线| 性感美女一区二区三区| 粉嫩久久99精品久久久久久夜| 在线免费看v片| 国产精品2024| av天堂一区二区| www.欧美色图| 又黄又爽的网站| 91首页免费视频| 国产ts在线播放| 国产精品乱人伦中文| 开心激情五月网| 亚洲老妇xxxxxx| 精品无码久久久久久久久| 亚洲成人精品影院| 国产午夜免费福利| 在线看日本不卡| 91精品中文字幕| 欧美xxx久久| 香蕉视频黄色片| 国产一区二区动漫| 成人日韩欧美| 久久人人看视频| 午夜日韩成人影院| 国产日韩在线看| 日本免费精品| 久久99九九| 成人激情诱惑| 国内自拍中文字幕| 亚洲美女黄网| 五月婷婷深爱五月| 国产高清亚洲一区| 北岛玲一区二区| 国产精品三级电影| 高h视频免费观看| 欧美日韩性生活视频| 日韩伦人妻无码| 在线观看欧美黄色| 国产黄色免费大片| 亚洲精品久久视频| av二区在线| 久久久久久亚洲精品中文字幕| 久久sese| 99电影在线观看| 国内成人精品| 日本老太婆做爰视频| 另类亚洲自拍| 四虎国产精品免费| 国产日产亚洲精品系列| 九九视频免费在线观看| 91极品美女在线| 亚洲成a人片77777精品| 亚洲性av在线| 国产丝袜在线播放| 国产日韩av在线播放| 美女视频免费精品| 伊人狠狠色丁香综合尤物| 亚洲久久视频| 在线免费看v片| 国产欧美一区二区精品忘忧草| 久操视频免费在线观看| 欧美日韩免费一区二区三区| 人妻少妇精品无码专区| 日韩中文字在线| 在线能看的av网址| 成人自拍视频网站| 91亚洲一区| 亚洲福利精品视频| 久久综合九色综合欧美98 | 欧美日韩亚洲一区| 亚洲高清免费在线观看| 99国产精品国产精品毛片| 欧美另类videoxo高潮| 在线视频中文字幕一区二区| 日本免费不卡视频| 久久69精品久久久久久久电影好 | 琪琪一区二区三区| 免费成人深夜夜行p站| 伊人婷婷欧美激情| 国产男男gay体育生网站| 伊人精品在线观看| 电影亚洲精品噜噜在线观看| 国产综合欧美在线看| 激情婷婷亚洲| 久久无码专区国产精品s| 亚洲视频一区二区免费在线观看 | 久久机这里只有精品| 色婷婷av777| 欧美性极品xxxx娇小| 日日躁夜夜躁白天躁晚上躁91| 久久国产色av| 日本高清久久| wwwjizzjizzcom| 国产精品自拍av| 天天看片中文字幕| 欧美一区二区视频在线观看2022| 日韩免费网站| 国产美女91呻吟求| 久久综合国产| 在线免费黄色网| 亚洲欧美视频在线观看| 精品久久国产视频| 欧美裸体xxxx极品少妇| 天堂av一区| 日韩一级性生活片| av午夜精品一区二区三区| 成人免费区一区二区三区| 日韩av网站导航| 波多野结衣亚洲| 日韩激情视频| 免费看黄色91| 老熟妇高潮一区二区三区| 7777精品久久久大香线蕉 | 一区二区三区影院| 精品国产亚洲一区二区麻豆| 欧美激情一区二区三区久久久| a看欧美黄色女同性恋| 日本一道本久久| 国产亚洲一区二区三区| 亚洲视频一区在线播放| 美女福利精品视频| 国产福利一区二区精品秒拍| www.浪潮av.com| 国产女人aaa级久久久级| 夜夜嗨aⅴ一区二区三区| 欧美成人中文字幕在线| 成人午夜网址| 色诱视频在线观看| 国产精品久久久久一区二区三区共| 国产伦一区二区| 久久久影视精品| 精品在线99| 亚洲制服在线观看| 亚洲成人精品一区| av午夜在线| 999视频在线免费观看| 国产精品最新自拍| 男人天堂资源网| 亚洲国产精品久久久久秋霞蜜臀| 欧美人体一区二区三区| 香蕉视频在线网址| 99精品欧美一区| 国产精品无码天天爽视频| 午夜精品久久久99热福利| 欧美最新另类人妖| 人妻av一区二区三区| 欧美综合一区二区| 日本三级在线观看网站| 视频一区二区综合| 丁香亚洲综合激情啪啪综合| 久久久久久亚洲av无码专区| 九九综合九九综合| 欧美限制电影| 人妻换人妻a片爽麻豆| 欧美美女一区二区在线观看| 不卡av免费观看| 亚洲午夜高清视频| 91片在线免费观看|