校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)角色的后臺(tái)管理1(七)

ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)角色的后臺(tái)管理1(七)

熱門(mén)標(biāo)簽:旅游地圖標(biāo)注線路 電銷(xiāo)外呼系統(tǒng)是違法的嗎 漯河外呼調(diào)研線路 電話機(jī)器人鑰匙扣 地圖標(biāo)注位置怎么弄圖 威力最大的電銷(xiāo)機(jī)器人 廣西房產(chǎn)智能外呼系統(tǒng)推薦 電銷(xiāo)專(zhuān)用外呼線路 400電話唐山辦理

角色是網(wǎng)站中都有的一個(gè)功能,用來(lái)區(qū)分用戶(hù)的類(lèi)型、劃分用戶(hù)的權(quán)限,這次實(shí)現(xiàn)角色列表瀏覽、角色添加、角色修改和角色刪除。

一、業(yè)務(wù)邏輯層

1、角色模型

Ninesky.Core【右鍵】->添加->類(lèi),輸入類(lèi)名Role。

引用System.ComponentModel.DataAnnotations命名空間

using System.ComponentModel.DataAnnotations;

namespace Ninesky.Core
{
 /// summary>
 /// 角色
 /// /summary>
 public class Role
 {
  [Key]
  public int RoleID { get; set; }

  /// summary>
  /// 名稱(chēng)
  /// /summary>
  [Required(ErrorMessage ="必須輸入{0}")]
  [StringLength(20,MinimumLength =2, ErrorMessage ="{0}長(zhǎng)度為{2}-{1}個(gè)字符")]
  [Display(Name ="名稱(chēng)")]
  public string Name { get; set; }

  /// summary>
  /// 說(shuō)明
  /// /summary>
  [StringLength(1000, ErrorMessage = "{0}必須少于{1}個(gè)字符")]
  [Display(Name = "說(shuō)明")]
  public string Description { get; set; }

 }
}

2、添加表映射

打開(kāi)Ninesky.Core/NineskyContext.cs,添加Role表映射

3、遷移數(shù)據(jù)

1)、啟用數(shù)據(jù)遷移

在【工具欄】->【工具】->NuGet包管理器->程序包管理器控制臺(tái)。

輸入命令 Enable-Migrations 回車(chē),為Ninesk.Core啟用數(shù)據(jù)遷移。

打開(kāi)Ninesky.Core/Migrations/Configuration.cs文件

將 AutomaticMigrationsEnabled = false;改為 AutomaticMigrationsEnabled = ture;來(lái)啟用自動(dòng)遷移。

2)、更新數(shù)據(jù)表

運(yùn)行命令Update-Database。提示錯(cuò)誤:There is already an object named 'Administrators' in the database.

這是因?yàn)橄壬闪薃dministrators表后啟用的數(shù)據(jù)遷移。在更新表的時(shí)候視圖創(chuàng)建Administrators表失敗。

打開(kāi)服務(wù)器資源管理器,如圖選擇Administrators【右鍵】->刪除。

刪除成功后再次運(yùn)行Update-Database,執(zhí)行成功。

因?yàn)閯偛艅h除表的時(shí)候把管理員賬號(hào)也刪掉了,記得打開(kāi)Administrators表添加一個(gè)管理員賬號(hào),記得密碼可以輸入jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI= 這是123456加密后的字符串。

4、角色管理

Ninesky.Core【右鍵】->添加->類(lèi),輸入類(lèi)名RoleManager,類(lèi)繼承自BaseManagerRole>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ninesky.Core
{
 /// summary>
 /// 角色管理
 /// /summary>
 public class RoleManager:BaseManagerRole>
 {
 }
}

 

二、展示層

Ninesky.Web/Areas/Control/Controllers【右鍵】->添加->控制器。選擇 MVC5 控制器 – 空, 輸入控制器名稱(chēng)RoleController。

在控制器中引入命名空間Ninesky.Core;

添加變量private RoleManager roleManager = new RoleManager();

為控制器添加身份驗(yàn)證[AdminAuthorize]

1、消息提示

在進(jìn)行操作的時(shí)候經(jīng)常會(huì)需要對(duì)操作成功、失敗、發(fā)生錯(cuò)誤進(jìn)行提示,所以專(zhuān)門(mén)做一個(gè)提示的模型類(lèi)Prompt。

1)、添加類(lèi)

Ninesky.Web/Models【右鍵】->添加->類(lèi)  輸入類(lèi)名Prompt

復(fù)制代碼 代碼如下:
using System.Collections.Generic;namespace Ninesky.Web.Models{ /// summary> /// 提示 /// /summary> public class Prompt { /// summary> /// 標(biāo)題 /// /summary> public string Title { get; set; } /// summary> /// 消息 /// /summary> public string Message { get; set; } /// summary> /// 按鈕組 /// /summary> public Liststring> Buttons { get; set; } }}

2、在控制器中引入類(lèi)的命名空間

在Rolecontroller中引用命名空間Ninesky.Web.Models。

3、添加視圖

在Ninesky.Web/Areas/Control/Views/Shared【右鍵】->添加->視圖

 

@model Ninesky.Web.Models.Prompt

@{
 ViewBag.Title = Model.Title;
}

@section SideNav{@Html.Partial("SideNavPartialView")}

ol class="breadcrumb">
 li>span class="glyphicon glyphicon-home">/span> @Html.ActionLink("首頁(yè)", "Index", "Home")/li>
 li class="active">@Model.Title/li>
/ol>

div class="panel panel-default">
 div class="panel-heading">div class="panel-title">@Model.Title/div>/div>
 div class="panel-body">
  p>@Html.Raw(Model.Message)/p>
  @if(Model.Buttons!=null  Model.Buttons.Count > 0) {
  p>
   @foreach(var item in Model.Buttons)
   {
    @Html.Raw(item+ "nbsp;nbsp;")

   }
  /p>
  }
 /div>
/div>

2、管理員列表

1)、返回列表方法(Json方式)

在控制中添加方法 ListJson() ,返回類(lèi)型 JsonResoult

/// summary>
  /// 列表【Json】
  /// /summary>
  /// returns>/returns>
  public JsonResult ListJson()
  {
   return Json(roleManager.FindList());
  }

2、添加角色首頁(yè)視圖

在index()方法【右鍵】->添加視圖

@{
 ViewBag.Title = "角色管理";
}

@section SideNav{@Html.Partial("SideNavPartialView")}

ol class="breadcrumb">
 li>span class="glyphicon glyphicon-home">/span> @Html.ActionLink("首頁(yè)", "Index", "Home")/li>
 li>@Html.ActionLink("用戶(hù)管理", "Index", "User")/li>
 li class="active">@Html.ActionLink("角色管理", "Index", "Role")/li>
/ol>

table id="admingrid">/table>
@section style{
 @Styles.Render("~/Content/bootstrapplugincss")
}

@section scripts{
 @Scripts.Render("~/bundles/jqueryval")
 @Scripts.Render("~/bundles/bootstrapplugin")
 script type="text/javascript">
  $(document).ready(function () {
   //表格
   var $table = $('#admingrid');
   $table.bootstrapTable({
    showRefresh: true,
    showColumns: true,
    showFooter: true,
    method: "post",
    url: "@Url.Action("ListJson")",
    columns: [
     { title: "ID", field: "RoleID" },
     { title: "名稱(chēng)", field: "Name", formatter: function (value, row, index) { return "a href='@Url.Action("Modify", "Role")/" + row.RoleID + "'>" + value + "/a>" } },
     { title: "說(shuō)明", field: "Description" },
     { title: "操作", field: "RoleID", formatter: function (value) { return "a class='btn btn-sm btn-danger' data-operation='deleterole' data-value='" + value + "'>刪除/a>" } }
    ],
    onLoadSuccess: function () {
     //刪除按鈕
     $("a[data-operation='deleterole']").click(function () {
      var id = $(this).attr("data-value");
      BootstrapDialog.confirm("你確定要?jiǎng)h除" + $(this).parent().parent().find("td").eq(1).text() + "嗎?", function (result) {
       if (result) {
        $.post("@Url.Action("DeleteJson", "Role")", { id: id }, function (data) {
         if (data.Code == 1) {
          BootstrapDialog.show({
           message: "刪除角色成功",
           buttons: [{
            icon: "glyphicon glyphicon-ok",
            label: "確定",
            action: function (dialogItself) {
             $table.bootstrapTable("refresh");
             dialogItself.close();
            }
           }]

          });
         }
         else BootstrapDialog.alert(data.Message);
        }, "json");
       }
      });
     });
     //刪除按鈕結(jié)束
    }
   });
   //表格結(jié)束
  });
 /script>
}

3、導(dǎo)航視圖

導(dǎo)航視圖顯示在視圖的左側(cè),對(duì)該控制器下的功能進(jìn)行導(dǎo)航

Ninesky.Web/Areas/Control/Views/Role【右鍵】->添加->視圖

div class="panel panel-default">
 div class="panel-heading">
  div class="panel-title">span class="glyphicon glyphicon-user">/span> 用戶(hù)管理/div>
 /div>
 div class="panel-body">
  div class="list-group">
   div class="list-group-item">span class="glyphicon glyphicon-plus">/span> @Html.ActionLink("角色添加", "Add", "Role")/div>
   div class="list-group-item">span class="glyphicon glyphicon-list">/span> @Html.ActionLink("角色管理", "Index", "Role")/div>
  /div>
 /div>
/div>

4、添加角色

1)、添加方法

在控制器中添加Add方法

復(fù)制代碼 代碼如下:
/// summary> /// 添加 /// /summary> /// returns>/returns> public ActionResult Add() { return View(); }

2)、添加視圖

在方法上右鍵添加視圖

 

@model Ninesky.Core.Role

@{
 ViewBag.Title = "添加角色";
}

@section SideNav{@Html.Partial("SideNavPartialView")}

ol class="breadcrumb">
 li>span class="glyphicon glyphicon-home">/span> @Html.ActionLink("首頁(yè)", "Index", "Home")/li>
 li>@Html.ActionLink("用戶(hù)管理", "Index", "User")/li>
 li>@Html.ActionLink("角色管理", "Index", "Role")/li>
 li class="active">添加角色/li>
/ol>

@using (Html.BeginForm()) 
{
 @Html.AntiForgeryToken()
 
 div class="form-horizontal">
  @Html.ValidationSummary(true, "", new { @class = "text-danger" })
  div class="form-group">
   @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
   div class="col-md-10">
    @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
   /div>
  /div>

  div class="form-group">
   @Html.LabelFor(model => model.Description, htmlAttributes: new { @class = "control-label col-md-2" })
   div class="col-md-10">
    @Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.Description, "", new { @class = "text-danger" })
   /div>
  /div>

  div class="form-group">
   div class="col-md-offset-2 col-md-10">
    input type="submit" value="保存" class="btn btn-default" />
   /div>
  /div>
 /div>
}

@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}

3)、添加提交數(shù)據(jù)的接收處理方法

在控制器中添加Add方法的post方法

[HttpPost]
  [ValidateAntiForgeryToken]
  public ActionResult Add(Role role)
  {
   if (ModelState.IsValid)
   {
    if (roleManager.Add(role).Code == 1)
    {
     return View("Prompt", new Prompt() { Title = "添加角色成功",
      Message ="你已成功添加了角色【"+ role.Name+"】",
      Buttons = new Liststring>() { "a href=\"" + Url.Action("Index", "Role") + "\" class=\"btn btn-default\">角色管理/a>", "a href=\"" + Url.Action("Add", "Role") + "\" class=\"btn btn-default\">繼續(xù)添加/a>"}
     });
    }
   }
   return View(role);
  }

5、管理員資料修改

1)、添加方法

在控制器中添加Modify方法。

/// summary>
  /// 修改
  /// /summary>
  /// param name="id">RoleID/param>
  /// returns>/returns>
  public ActionResult Modify(int id)
  {
   var _role = roleManager.Find(id);
   if(_role == null) return View("Prompt", new Prompt()
   {
    Title = "錯(cuò)誤",
    Message = "ID為【" + id + "】的角色不存在",
    Buttons = new Liststring>() { "a href=\"" + Url.Action("Index", "Role") + "\" class=\"btn btn-default\">角色管理/a>"}
   });
   return View(_role);
  }

2)、添加視圖

在方法中右鍵添加視圖

代碼如下:

@model Ninesky.Core.Role

@{
 ViewBag.Title = Model.Name;
}

@section SideNav{@Html.Partial("SideNavPartialView")}

ol class="breadcrumb">
 li>span class="glyphicon glyphicon-home">/span> @Html.ActionLink("首頁(yè)", "Index", "Home")/li>
 li>@Html.ActionLink("用戶(hù)管理", "Index", "User")/li>
 li>@Html.ActionLink("角色管理", "Index", "Role")/li>
 li class="active">修改/li>
/ol>


@using (Html.BeginForm())
{
 @Html.AntiForgeryToken()
 
 div class="form-horizontal">
  @Html.ValidationSummary(true, "", new { @class = "text-danger" })
  @Html.HiddenFor(model => model.RoleID)

  div class="form-group">
   @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
   div class="col-md-10">
    @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
   /div>
  /div>

  div class="form-group">
   @Html.LabelFor(model => model.Description, htmlAttributes: new { @class = "control-label col-md-2" })
   div class="col-md-10">
    @Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.Description, "", new { @class = "text-danger" })
   /div>
  /div>

  div class="form-group">
   div class="col-md-offset-2 col-md-10">
    input type="submit" value="保存" class="btn btn-default" />
   /div>
  /div>
 /div>
}

@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}

3)、添加提交數(shù)據(jù)的接收處理方法

在控制器中添加post方式的提交處理方法Modify方法。

[HttpPost]
  [ValidateAntiForgeryToken]
  public ActionResult Modify(Role role)
  {
   if (ModelState.IsValid)
   {
    var _resp = roleManager.Update(role);
    if (_resp.Code == 1) return View("Prompt", new Prompt()
    {
     Title = "修改角色成功",
     Message = "你已成功修改了角色【" + role.Name + "】",
     Buttons = new Liststring>() { "a href=\"" + Url.Action("Index", "Role") + "\" class=\"btn btn-default\">角色管理/a>", "a href=\"" + Url.Action("Modify", "Role", new { id = role.RoleID }) + "\" class=\"btn btn-default\">查看/a>", "a href=\"" + Url.Action("Add", "Role") + "\" class=\"btn btn-default\">添加/a>" }
    });
    else return View("Prompt", new Prompt()
    {
     Title = "修改角色失敗",
     Message = "失敗原因:"+ _resp.Message,
     Buttons = new Liststring>() { "a href=\"" + Url.Action("Index", "Role") + "\" class=\"btn btn-default\">角色管理/a>", "a href=\"" + Url.Action("Modify", "Role", new { id = role.RoleID }) + "\" class=\"btn btn-default\">返回/a>"}
    });
   }
   else return View(role);
  }

6、刪除角色

在控制器中添加Modify方法。

/// summary>
  /// 刪除【Json】
  /// /summary>
  /// param name="id">RoleID/param>
  /// returns>/returns>
  [HttpPost]
  public JsonResult DeleteJson(int id)
  {
   return Json(roleManager.Delete(id));
  }

角色功能完成,按F5瀏覽器中預(yù)覽效果

 ---------------------------------------------------------------------------------------

代碼見(jiàn):https://ninesky.codeplex.com/SourceControl/latest

代碼下載:https://ninesky.codeplex.com 點(diǎn)擊SOURCE CODE 點(diǎn)擊Download下載源文件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • ASP.NET Core 數(shù)據(jù)保護(hù)(Data Protection 集群場(chǎng)景)下篇
  • ASP.NET Core 數(shù)據(jù)保護(hù)(Data Protection)中篇
  • ASP.NET Core 數(shù)據(jù)保護(hù)(Data Protection)上篇
  • ASP.NET Core Kestrel 中使用 HTTPS (SSL)
  • ASP.NET Core集成微信登錄
  • 微信搶紅包ASP.NET代碼輕松實(shí)現(xiàn)
  • 基于ASP.NET實(shí)現(xiàn)日期轉(zhuǎn)為大寫(xiě)的漢字
  • ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)資料的修改和刪除3(七)
  • ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)添加和瀏覽2(七)
  • ASP.NET 程序員都非常有用的85個(gè)工具

標(biāo)簽:湘西 湖北 焦作 銅陵 綏化 試駕邀約 欽州 無(wú)錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)角色的后臺(tái)管理1(七)》,本文關(guān)鍵詞  ASP.NET,MVC5,網(wǎng),站開(kāi),發(fā)之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)角色的后臺(tái)管理1(七)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)角色的后臺(tái)管理1(七)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲午夜激情av| 亚洲综合一区二区三区| 成人午夜视频在线观看| 美女视频免费一区| 日韩成人午夜电影| 亚洲福利视频导航| 亚洲一区二区三区四区的| 国产精品国产三级国产有无不卡| 日韩限制级电影在线观看| 欧美日韩在线免费视频| 欧美三日本三级三级在线播放| 色综合视频在线观看| 91搞黄在线观看| 在线免费观看视频一区| 91福利视频网站| 欧美日韩国产一级| 91精品国产色综合久久不卡蜜臀| 日韩午夜中文字幕| 久久一留热品黄| 国产精品久久久久7777按摩| 亚洲三级电影全部在线观看高清| 日韩理论片中文av| 亚洲大片精品永久免费| 久久草av在线| 成人av免费观看| 一本色道久久加勒比精品| 欧美伦理影视网| ww久久中文字幕| 亚洲男人电影天堂| 亚洲成人免费电影| 国产一区二区电影| 欧洲一区在线观看| 精品久久99ma| 国产精品电影一区二区三区| 一区二区免费看| 黄页网站大全一区二区| 色综合久久88色综合天天免费| 欧美色综合天天久久综合精品| 欧美一区二区精品在线| 中文字幕不卡三区| 日韩av中文在线观看| 国产福利一区二区三区视频在线| 91免费版pro下载短视频| 69成人精品免费视频| 欧美—级在线免费片| 午夜欧美在线一二页| 国产成人高清在线| 欧美肥妇bbw| 亚洲色图在线播放| 免费一级欧美片在线观看| 99re热视频精品| 精品国产一区二区在线观看| 亚洲素人一区二区| 久久成人久久鬼色| 欧美日韩免费在线视频| 国产精品污污网站在线观看| 日韩av在线发布| 91国模大尺度私拍在线视频| 久久精品欧美一区二区三区不卡 | 首页国产欧美日韩丝袜| 国产成人亚洲综合a∨猫咪| 欧美色倩网站大全免费| 成人欧美一区二区三区黑人麻豆| 久久精品国产亚洲a| 欧美日韩国产高清一区二区| 中文字幕一区av| 大胆亚洲人体视频| 精品国偷自产国产一区| 日韩av中文在线观看| 欧美日韩中文国产| 亚洲一二三四久久| 色狠狠色噜噜噜综合网| 国产精品欧美久久久久一区二区| 韩国三级电影一区二区| 日韩欧美一级二级| 另类专区欧美蜜桃臀第一页| 91精品国产一区二区三区| 婷婷综合另类小说色区| 欧美片网站yy| 午夜视频一区在线观看| 精品视频色一区| 视频一区视频二区中文| 9191精品国产综合久久久久久| 亚洲国产另类av| 欧美日韩黄色影视| 亚洲成人av一区二区| 欧美美女直播网站| 免费看黄色91| 精品处破学生在线二十三| 国产制服丝袜一区| 国产日韩欧美精品电影三级在线| 韩国在线一区二区| 欧美国产日韩精品免费观看| 成人99免费视频| 亚洲日本电影在线| 色成人在线视频| 亚瑟在线精品视频| 日韩欧美一级精品久久| 国产一区二区视频在线播放| 亚洲国产精品99久久久久久久久| 波多野结衣中文字幕一区二区三区| 国产精品久久久久久一区二区三区 | 亚洲成人777| 91精品国产高清一区二区三区 | 国产欧美日韩精品一区| 99久久精品国产毛片| 亚洲欧美日韩国产另类专区| 欧美日韩aaaaa| 精品一区二区久久| 一区在线中文字幕| 欧美日韩国产一区| 国产精品69久久久久水密桃| 中文字幕亚洲一区二区av在线 | 在线观看不卡一区| 蜜桃久久久久久| 国产精品丝袜一区| 3atv在线一区二区三区| 高清beeg欧美| 日韩一区精品字幕| 国产精品视频麻豆| 欧美精选一区二区| 国产成人精品亚洲777人妖 | 一区二区三区在线观看动漫| 91精品国产高清一区二区三区蜜臀| 国产麻豆精品久久一二三| 亚洲另类一区二区| 精品处破学生在线二十三| 91丨porny丨在线| 久久99精品久久久| 亚洲va韩国va欧美va| 国产欧美日韩综合| 69堂精品视频| 91久久精品一区二区| 国产美女精品人人做人人爽| 亚洲成人自拍网| 一区免费观看视频| 国产色婷婷亚洲99精品小说| 91精品啪在线观看国产60岁| 91视频在线观看| 国产精品一二三四区| 蜜桃视频在线一区| 午夜国产精品一区| 亚洲老妇xxxxxx| 国产精品久久久久久亚洲伦 | 一区二区三区av电影| 久久久精品黄色| 欧美v亚洲v综合ⅴ国产v| 欧美三级资源在线| 色美美综合视频| av亚洲精华国产精华精华| 国产精品一品视频| 狠狠色狠狠色综合| 麻豆成人av在线| 日本午夜精品视频在线观看 | 欧美电视剧在线看免费| 欧美三片在线视频观看| 日本电影欧美片| 日本黄色一区二区| 91亚洲国产成人精品一区二区三| 成人国产亚洲欧美成人综合网| 韩国视频一区二区| 国内精品第一页| 国产一区二区成人久久免费影院| 久久99久久久久久久久久久| 蜜臀av一区二区在线免费观看| 全部av―极品视觉盛宴亚洲| 日韩高清欧美激情| 免费高清在线一区| 久久草av在线| 丰满亚洲少妇av| 99久久国产综合精品女不卡| 97超碰欧美中文字幕| 99久久国产综合精品女不卡| 色婷婷综合久久久| 欧美人与z0zoxxxx视频| 3751色影院一区二区三区| 日韩三级伦理片妻子的秘密按摩| 日韩欧美成人激情| 久久精品视频免费观看| 中文字幕欧美一| 亚洲国产综合人成综合网站| 三级影片在线观看欧美日韩一区二区 | 成人深夜在线观看| 99re热视频精品| 欧美色窝79yyyycom| 欧美久久一二区| 精品乱人伦一区二区三区| 久久精品一区四区| 亚洲色欲色欲www在线观看| 亚洲一区免费视频| 久久精品久久99精品久久| 国产精品一区三区| 91国产视频在线观看| 欧美mv日韩mv国产网站app| 欧美激情一区在线观看| 亚洲精品成人在线| 久久精品99久久久| 91在线观看污| 欧美一区二区三区精品| 中文字幕av免费专区久久|