婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > MVC4制作網(wǎng)站教程第四章 添加欄目4.1

MVC4制作網(wǎng)站教程第四章 添加欄目4.1

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

好幾天沒(méi)時(shí)間寫(xiě)了。今天有寫(xiě)時(shí)間在學(xué)一點(diǎn)。
今天狀態(tài)也不是很好,暈暈沉沉的寫(xiě)吧。

一、用戶
二、用戶組
三、欄目
3.1添加欄目
首先添加【CategoryController】控制器, 

那么我想我的視圖里,首先顯示的應(yīng)該是欄目類型,這里應(yīng)該是一個(gè)下拉框,用戶可以選擇“一般欄目”,“單頁(yè)欄目”,“外部鏈接”。那么首先應(yīng)該在【CategoryController】添加一個(gè)屬性,用來(lái)返回欄目類型列表。 

#region Attribute
 public ListSelectListItem> TypeSelectList
 {
  get
  {
  ListSelectListItem> _items = new ListSelectListItem>();
  _items.Add(new SelectListItem { Text = CategoryType.一般欄目.ToString(), Value = ((int)CategoryType.一般欄目).ToString() });
  _items.Add(new SelectListItem { Text = CategoryType.單頁(yè)欄目.ToString(), Value = ((int)CategoryType.單頁(yè)欄目).ToString() });
  _items.Add(new SelectListItem { Text = CategoryType.外部鏈接.ToString(), Value = ((int)CategoryType.外部鏈接).ToString() });
  return _items;
  }
 }
 #endregion

其次,用戶應(yīng)該可以選擇內(nèi)容模型,內(nèi)容模型是什么? 

內(nèi)容模型就是這個(gè)欄目下可以添加內(nèi)容的模型名稱?這個(gè)模型名稱對(duì)應(yīng)的就是Models中間的模型類。為了更好的表述在系統(tǒng)中添加模塊“Module ”的概念。模塊用來(lái)指系統(tǒng)中用來(lái)實(shí)現(xiàn)相應(yīng)功能的塊,想新聞模塊,文章模塊,留言模塊,圖片模塊,產(chǎn)品模塊,服務(wù)模塊等等,每個(gè)模塊對(duì)應(yīng)相應(yīng)的模型和控制器,用來(lái)實(shí)現(xiàn)設(shè)想中的功能。系統(tǒng)中預(yù)置的模塊用戶應(yīng)該可以設(shè)置啟用還是關(guān)閉。 

第一應(yīng)該添加內(nèi)容模型類

using System.ComponentModel.DataAnnotations;

namespace Ninesky.Models
{
 /// summary>
 /// 內(nèi)容模塊
 /// /summary>
 public class Module
 {
 [Key]
 public int ModuleId { get; set; }
 /// summary>
 /// 模塊名稱
 /// /summary>
 [Required(ErrorMessage="×")]
 [Display(Name="模塊名稱")]
 public string Name { get; set; }
 /// summary>
 /// 模塊模型
 /// /summary>
 [Required(ErrorMessage = "×")]
 [Display(Name = "模塊模型")]
 public string Model { get; set; }
 /// summary>
 /// 啟用模塊
 /// /summary>
 [Required(ErrorMessage = "×")]
 [Display(Name = "啟用模塊")]
 public bool Enable { get; set; }
 /// summary>
 /// 說(shuō)明
 /// /summary>
 [Required(ErrorMessage = "×")]
 [Display(Name = "說(shuō)明")]
 public string Description { get; set; }

 }
}

既然有模塊類,就應(yīng)該有模塊類的數(shù)據(jù)處理類ModuleRepository,這塊功能暫時(shí)留在后面來(lái)寫(xiě),先最簡(jiǎn)單的實(shí)現(xiàn)List(bool enable)函數(shù)讓其能顯示模塊列表。 

using Ninesky.Models;
using System.Collections.Generic;
using System.Linq;

namespace Ninesky.Repository
{
 public class ModuleRepository
 {
 public IQueryableModule> List(bool enable)
 {
  ListModule> _module = new ListModule>();
  _module.Add(new Module { Name = "新聞模塊", Model = "News", Enable = true, Description = "新聞模塊" });
  _module.Add(new Module { Name = "文章模塊", Model = "Article", Enable = true, Description = "文章模塊" });
  return _module.AsQueryable();
 }
 }
}

簡(jiǎn)單吧。模塊功能以后再寫(xiě)吧,先為了添加欄目顯示兩個(gè)固定的模塊,
 那么后續(xù)我們要在控制器中添加[ManageAdd]action 

[AdminAuthorize]
 public ActionResult ManageAdd()
 {
  ModuleRepository _moduleRsy = new ModuleRepository();
  var _modules = _moduleRsy.List(true);
  ListSelectListItem> _slimodule = new ListSelectListItem>(_modules.Count());
  foreach (Module _module in _modules)
  {
  _slimodule.Add(new SelectListItem { Text = _module.Name, Value = _module.Model });
  }
  ViewData.Add("Model", _slimodule);
  ViewData.Add("Type", TypeSelectList);
  return View();
 }

然后添加添加數(shù)據(jù)處理函數(shù)

[AdminAuthorize]
 [HttpPost]
 public ActionResult ManageAdd(Category category)
 {
  categoryRsy = new CategoryRepository();
  if (categoryRsy.Add(category))
  {
  Notice _n = new Notice { Title = "添加欄目成功", Details = "您已經(jīng)成功添加[" + category.Name + "]欄目!", DwellTime = 5, NavigationName = "欄目列表", NavigationUrl = Url.Action("ManageList", "Cayegory") };
  return RedirectToAction("ManageNotice", "Prompt", _n);
  }
  else
  {
  Error _e = new Error { Title = "添加欄目失敗", Details = "在添加欄目時(shí),未能保存到數(shù)據(jù)庫(kù)", Cause = "系統(tǒng)錯(cuò)誤", Solution = Server.UrlEncode("li>返回a href='" + Url.Action("ManageAdd", "Cayegory") + "'>添加欄目/a>頁(yè)面,輸入正確的信息后重新操作/li>li>聯(lián)系網(wǎng)站管理員/li>") };
  return RedirectToAction("ManageError", "Prompt", _e);
  }
 }

現(xiàn)在開(kāi)始做視圖部分了。
在[ManageAdd]action上點(diǎn)右鍵添加視圖, 

@model Ninesky.Models.Category

@{
 ViewBag.Title = "ManageAdd";
 Layout = "~/Views/Layout/_Manage.cshtml";
}

div class="left">
 div class="top">/div>
 左側(cè)列表
/div>
div class="split">/div>
div class="workspace">
 div class="inside">
 div class="notebar">
  img alt="" src="~/Skins/Default/Manage/Images/Category.gif" />添加欄目
 /div>

 @using (Html.BeginForm())
 {
  @Html.ValidationSummary(true)

  fieldset>
  legend>欄目/legend>
  ul>
   li>
   div class="editor-label">
    @Html.LabelFor(model => model.Type)
   /div>
   div class="editor-field">
    @Html.DropDownList("Type")
    @Html.ValidationMessageFor(model => model.Type)
    @Html.DisplayDescriptionFor(model => model.Type)
   /div>
   /li>
   li>
   div class="editor-label">
    @Html.LabelFor(model => model.Name)
   /div>
   div class="editor-field">
    @Html.EditorFor(model => model.Name)
    @Html.ValidationMessageFor(model => model.Name)
    @Html.DisplayDescriptionFor(model => model.Name)
   /div>
   /li>
   li>
   div class="editor-label">
    @Html.LabelFor(model => model.ParentId)
   /div>
   div class="editor-field">
    @Html.EditorFor(model => model.ParentId)
    @Html.ValidationMessageFor(model => model.ParentId)
    @Html.DisplayDescriptionFor(model => model.ParentId)
   /div>
   /li>
   li id="li_model">
   div class="editor-label">
    @Html.LabelFor(model => model.Model)
   /div>
   div class="editor-field">
    @Html.DropDownList("Model")
    @Html.ValidationMessageFor(model => model.Model)
    @Html.DisplayDescriptionFor(model => model.Model)
   /div>
   /li>
   li id="li_categoryview">
   div class="editor-label">
    @Html.LabelFor(model => model.CategoryView)
   /div>
   div class="editor-field">
    @Html.EditorFor(model => model.CategoryView)
    @Html.ValidationMessageFor(model => model.CategoryView)
    @Html.DisplayDescriptionFor(model => model.CategoryView)
   /div>
   /li>
   li id="li_contentview">
   div class="editor-label">
    @Html.LabelFor(model => model.ContentView)
   /div>
   div class="editor-field">
    @Html.EditorFor(model => model.ContentView)
    @Html.ValidationMessageFor(model => model.ContentView)
    @Html.DisplayDescriptionFor(model => model.ContentView)
   /div>
   /li>
   li id="li_nav">
   div class="editor-label">
    @Html.LabelFor(model => model.Navigation)
   /div>
   div class="editor-field">
    @Html.EditorFor(model => model.Navigation)
    @Html.ValidationMessageFor(model => model.Navigation)
    @Html.DisplayDescriptionFor(model => model.Navigation)
   /div>
   /li>
   li>
   div class="editor-label">
    @Html.LabelFor(model => model.Order)
   /div>
   div class="editor-field">
    @Html.EditorFor(model => model.Order)
    @Html.ValidationMessageFor(model => model.Order)
    @Html.DisplayDescriptionFor(model => model.Order)
   /div>
   /li>
   li>
   div class="editor-label">
   /div>
   div class="editor-field">
    input type="submit" value="添加" />
   /div>
   /li>
  /ul>
  /fieldset>
 }
 /div>
/div>
div class="clear">/div>
@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}

這里給一些li>添加id屬性,實(shí)現(xiàn)用戶在顯示不同的欄目類型的時(shí)候顯示不同的項(xiàng)目。
 在ManageAdd.cshtml底部添加腳本 

script type="text/javascript">
 Details();
 $("#Type").change(function () {
 Details();
 });
 function Details() {
 var v = $("#Type").val();
 if (v == "0") {
  $("#li_model").show();
  $("#li_categoryview").show();
  $("#li_contentview").show();
  $("#li_nav").hide();
 }
 else if (v == "1") {
  $("#li_model").hide();
  $("#li_categoryview").show();
  $("#li_contentview").hide();
  $("#li_nav").hide();
 }
 else if (v == "2") {
  $("#li_model").hide();
  $("#li_categoryview").hide();
  $("#li_contentview").hide();
  $("#li_nav").show();
 }
 }
/script>

從瀏覽器中看一下。父欄目這里還有些問(wèn)題,設(shè)想中這里應(yīng)該是一個(gè)下拉框,用戶可以選擇已存在欄目類型為一般欄目的欄目做父欄目。這里需要下拉樹(shù)形列表,設(shè)想中應(yīng)該是這個(gè)樣子,是一個(gè)下拉列表和屬性列表框的組合框。

html中沒(méi)有這種類型的控件,mcv4 中帶的jquery UI是一個(gè)比較好的庫(kù),本身包含一定的控件,并且可以自己擴(kuò)展,但是他缺少一些像,數(shù)據(jù)表(datagirdview),樹(shù)形控件(tree),樹(shù)形組合控件(combotree)等,且jqueryui的式樣也不太好變換,決定丟棄jqueryui,而是用easyui(相對(duì)jqueryui功能更全面,更容易控制式樣),在“引用”上點(diǎn)右鍵選擇管理NuGet程序包 

在已安裝的包->全部,選擇Jquery Ui點(diǎn)擊卸載。 

http://www.jeasyui.com/選在最新版本,在項(xiàng)目的/Scripts文件夾中新建EasyUi文件夾,將easyui中的一下文件夾復(fù)制到該文件夾。

 

打開(kāi)App_Start\BundleConfig.cs,刪除jqueryui相關(guān)項(xiàng),添加

 bundles.Add(new ScriptBundle("~/bundles/EasyUi").Include( 
   "~/Scripts/EasyUi/easyloader.js"));
 
bundles.Add(new StyleBundle("~/EasyUi/icon").Include("~/Scripts/EasyUi/themes/icon.css"));

兩項(xiàng),使該文檔看起來(lái)如下: 

using System.Web;
using System.Web.Optimization;

namespace Ninesky
{
 public class BundleConfig
 {
 // 有關(guān) Bundling 的詳細(xì)信息,請(qǐng)?jiān)L問(wèn) http://go.microsoft.com/fwlink/?LinkId=254725
 public static void RegisterBundles(BundleCollection bundles)
 {
  bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
   "~/Scripts/jquery-{version}.js"));

  bundles.Add(new ScriptBundle("~/bundles/EasyUi").Include(
   "~/Scripts/EasyUi/easyloader.js"));

  bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
   "~/Scripts/jquery.unobtrusive*",
   "~/Scripts/jquery.validate*"));

  // 使用 Modernizr 的開(kāi)發(fā)版本進(jìn)行開(kāi)發(fā)和了解信息。然后,當(dāng)你做好
  // 生產(chǎn)準(zhǔn)備時(shí),請(qǐng)使用 http://modernizr.com 上的生成工具來(lái)僅選擇所需的測(cè)試。
  bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
   "~/Scripts/modernizr-*"));

  bundles.Add(new StyleBundle("~/Skins/css").Include("~/Skins/Default/Style.css"));
  bundles.Add(new StyleBundle("~/Skins/usercss").Include("~/Skins/Default/User.css"));
  bundles.Add(new StyleBundle("~/Skins/ManageCss").Include("~/Skins/Default/Manage/Style.css"));
  bundles.Add(new StyleBundle("~/EasyUi/icon").Include("~/Scripts/EasyUi/themes/icon.css"));
 }
 }
}

這里會(huì)用到easyui的combotree。
 查閱了官方文檔,數(shù)據(jù)格式為
Tree Data Format 
Every node can contains following properties:
 •id: node id, which is important to load remote data
 •text: node text to show
 •state: node state, 'open' or 'closed', default is 'open'. When set to 'closed', the node have children nodes and will load them from remote site
 •checked: Indicate whether the node is checked selected.
 •attributes: custom attributes can be added to a node
 •children: an array nodes defines some children nodes 

那么在Models文件夾里新家Ui文件夾,該文件夾用來(lái)控件數(shù)據(jù)相關(guān)的模型,添加Tree類 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Ninesky.Models.Ui
{
 /// summary>
 /// 樹(shù)形控件數(shù)據(jù)
 /// /summary>
 public class Tree
 {
 /// summary>
 /// Id
 /// /summary>
 public int id { get; set; }
 /// summary>
 /// 文本
 /// /summary>
 public string text { get; set; }
 /// summary>
 /// 節(jié)點(diǎn)狀態(tài):'open'或'closed',默認(rèn)'open'。
 /// /summary>
 public string state { get; set; }
 /// summary>
 /// 圖標(biāo)
 /// /summary>
 public string iconCls { get; set; }
 /// summary>
 /// 子節(jié)點(diǎn)
 /// /summary>
 public ListTree> children { get; set; }
 }
}

打開(kāi)~/Scripts/EasyUi/themes/icon.css文件 

在底部添加代碼 

.icon-general { 
 background: url('icons/ns_general.png') no-repeat !important; 
}

切記一定記得加!important來(lái)調(diào)整css的優(yōu)先級(jí)。easyui會(huì)將icon-general這個(gè)類添加在列表項(xiàng)的最后,如果不加這句'icons/ns_general.png'圖標(biāo)將不會(huì)顯示。 

選擇一個(gè)16*16的圖表命名為ns_general.png,并復(fù)制到一下文件夾 

這里要用遞歸的方式調(diào)取一般欄目的樹(shù)形結(jié)構(gòu):打開(kāi)CategoryRepository.cs。在底部添加兩個(gè)函數(shù) 

/// summary>
 /// 欄目列表
 /// /summary>
 /// param name="model">模型名稱/param>
 /// returns>/returns>
 public IQueryableCategory> List(string model)
 {
  return dbContext.Categorys.Where(c => c.Model == model).OrderBy(c => c.Order);
 }
 /// summary>
 /// 普通欄目樹(shù)形類表
 /// /summary>
 /// returns>/returns>
 public ListTree> TreeGeneral()
 {
  var _root = Children(0, 0).Select(c => new Tree { id = c.CategoryId, text = c.Name, iconCls = "icon-general" }).ToList();
  if (_root != null)
  {
  for (int i = 0; i  _root.Count(); i++)
  {
   _root[i] = RecursionTreeGeneral(_root[i]);
  }
  }
  return _root;
 }
 /// summary>
 /// 普通欄目樹(shù)形類表遞歸函數(shù)
 /// /summary>
 /// param name="tree">/param>
 /// returns>/returns>
 private Tree RecursionTreeGeneral(Tree tree)
 {
  var _children = Children(tree.id, 0).Select(c => new Tree { id = c.CategoryId, text = c.Name, iconCls="icon-general" }).ToList();
  if (_children != null)
  {
  
  for (int i = 0; i  _children.Count(); i++)
  {
   _children[i] = RecursionTreeGeneral(_children[i]);
  }
  tree.children = _children;
  }
  return tree;
 }

打開(kāi)CategoryController,添加一個(gè) [JsonTreeParent()]  返回可以做父欄目的欄目樹(shù)列表。

#region json
 [AdminAuthorize]
 public JsonResult JsonTreeParent()
 {
  categoryRsy =new CategoryRepository();
  var _children = categoryRsy.TreeGeneral();
  if (_children == null) _children = new ListTree>();
  _children.Insert(0, new Tree { id = 0, text = "無(wú)",iconCls="icon-general" });
  return Json(_children);
 }
 #endregion

打開(kāi)ManageAdd.cshtml,將@Html.EditorFor(model => model.ParentId)改為input id="ParentId" type="text" class="easyui-combotree" data-options="url:'@Url.Action("JsonTreeParent", "Category")'" value="0" /> . 

在@section Scripts中減價(jià)easyui的腳本和css引用 

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


OK,打開(kāi)瀏覽器測(cè)試一下 

可以正常添加欄目。 

今天發(fā)現(xiàn)一個(gè)問(wèn)題無(wú)論父欄目宣布選什么,提交的ParentId為0,上面“打開(kāi)ManageAdd.cshtml,將@Html.EditorFor(model => model.ParentId)改為input id="ParentId" type="text" class="easyui-combotree" data-options="url:'@Url.Action("JsonTreeParent", "Category")'" value="0" /> .” 這里有問(wèn)題,應(yīng)改為:@Html.TextBox("ParentId",0,new {@class ="easyui-combotree",data_options="url:'"+Url.Action("JsonTreeParent", "Category")+"'" })。 

修改后正常了,但是使用easyui combotree后,父欄目客戶端驗(yàn)證無(wú)效了,這個(gè)是什么原因,如何解決,知道的朋友不吝賜教!

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

您可能感興趣的文章:
  • MVC+EasyUI+三層新聞網(wǎng)站建立 建站準(zhǔn)備工作(一)
  • MVC+EasyUI+三層新聞網(wǎng)站建立 主頁(yè)布局的方法(五)
  • MVC+EasyUI+三層新聞網(wǎng)站建立 實(shí)現(xiàn)登錄功能(四)
  • MVC+EasyUI+三層新聞網(wǎng)站建立 后臺(tái)登錄界面的搭建(二)
  • MVC+EasyUI+三層新聞網(wǎng)站建立 驗(yàn)證碼生成(三)
  • 一步步打造簡(jiǎn)單的MVC電商網(wǎng)站BooksStore(2)
  • 一步步打造簡(jiǎn)單的MVC電商網(wǎng)站BooksStore(1)
  • MVC4制作網(wǎng)站教程第四章 更新欄目4.3
  • MVC4制作網(wǎng)站教程第四章 瀏覽欄目4.2
  • MVC+EasyUI+三層新聞網(wǎng)站建立 tabs標(biāo)簽制作方法(六)

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MVC4制作網(wǎng)站教程第四章 添加欄目4.1》,本文關(guān)鍵詞  MVC4,制作,網(wǎng)站,教程,第四章,;如發(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)文章
  • 下面列出與本文章《MVC4制作網(wǎng)站教程第四章 添加欄目4.1》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MVC4制作網(wǎng)站教程第四章 添加欄目4.1的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜不卡在线视频| 制服丝袜亚洲色图| 国产成人在线看| 在线观看精品一区| 精品福利在线导航| 夜夜亚洲天天久久| 成人禁用看黄a在线| 99久久99久久精品免费观看 | 一区二区在线观看视频在线观看| 欧美日本一区二区在线观看| 欧美性色黄大片| 欧美日韩一区二区三区四区五区 | 国产精品无码永久免费888| 欧美一区三区二区| 欧美精品一区二区在线观看| 久久精品视频免费| 国产精品传媒入口麻豆| 亚洲综合男人的天堂| 在线播放国产精品二区一二区四区 | 91在线观看高清| jizz一区二区| 国产传媒一区在线| 亚洲国产精品精华液网站| 日韩欧美精品在线视频| 欧美一区二区福利视频| 9i看片成人免费高清| 成人免费看黄yyy456| 经典三级一区二区| 免费观看一级特黄欧美大片| 天天综合色天天| 激情国产一区二区| 成人综合激情网| 欧美电影影音先锋| 自拍偷拍国产精品| 亚洲成人自拍网| 国产91色综合久久免费分享| 波多野结衣视频一区| 不卡的av在线| 日韩一卡二卡三卡四卡| 欧美成人免费网站| 蜜桃视频在线观看一区二区| 国产91精品一区二区麻豆亚洲| 日日夜夜一区二区| 99久久精品国产麻豆演员表| 日韩一区国产二区欧美三区| 亚洲福利一区二区三区| 亚洲v中文字幕| 国产精品久久久久影视| 成人午夜短视频| 亚洲在线观看免费视频| 青草国产精品久久久久久| 91久久精品日日躁夜夜躁欧美| 精品在线亚洲视频| 美女网站色91| 日韩亚洲欧美高清| 国产精品久久久久永久免费观看| 国产精品激情偷乱一区二区∴| 一区二区三区四区激情| 久久不见久久见免费视频7| 不卡的av电影| av午夜一区麻豆| 国产三级久久久| 国产一区二区成人久久免费影院| 欧美日韩高清一区二区三区| 亚洲综合男人的天堂| 成人免费毛片片v| 欧美精品一区二区三区在线播放| 亚洲精品第1页| 日本道色综合久久| 一区二区三区国产精华| 91亚洲午夜精品久久久久久| 国产精品剧情在线亚洲| 99re亚洲国产精品| 亚洲一级二级在线| 精品盗摄一区二区三区| av网站免费线看精品| 亚洲精品视频免费看| 555夜色666亚洲国产免| 国产在线视频精品一区| 国产精品久久精品日日| 成人免费视频caoporn| 亚洲主播在线观看| 欧美r级电影在线观看| 97精品电影院| 国产精品乱码人人做人人爱| 日韩欧美不卡一区| 国产精品嫩草久久久久| 国产iv一区二区三区| 一区二区三区四区乱视频| 亚洲少妇中出一区| 国产精品一级在线| 亚洲国产美女搞黄色| 国产在线一区二区| 日韩欧美一级特黄在线播放| 亚洲人成在线观看一区二区| 国内精品在线播放| 欧美草草影院在线视频| 丝袜亚洲另类丝袜在线| 99九九99九九九视频精品| 国产亚洲精品aa午夜观看| 午夜精品一区二区三区电影天堂| 成人一区二区三区| 国产欧美综合色| 久久精品国产一区二区| 亚洲欧美怡红院| 中文字幕免费一区| 日韩欧美中文字幕公布| 欧美日韩国产一二三| 成人av午夜电影| 欧洲一区二区三区免费视频| 久久97超碰色| 国产一区二区三区香蕉| 男女性色大片免费观看一区二区 | 亚洲桃色在线一区| 国产精品视频线看| 日韩理论片在线| 中文字幕亚洲电影| 亚洲一区二区三区四区在线免费观看| 亚洲一区二区欧美| 五月开心婷婷久久| 成人av网在线| 日韩午夜激情视频| 亚洲色图在线播放| 卡一卡二国产精品| 欧美日韩综合在线免费观看| av在线免费不卡| 日韩av一二三| 奇米综合一区二区三区精品视频| 日本三级亚洲精品| 国产高清不卡一区二区| 1000部国产精品成人观看| 欧美国产亚洲另类动漫| 91精品国产综合久久久久久| 蜜桃视频免费观看一区| 国产欧美一区二区三区在线老狼| 91同城在线观看| 日本女人一区二区三区| 中文字幕 久热精品 视频在线| 欧美亚洲另类激情小说| 国产一区二区影院| 亚洲综合在线五月| 久久毛片高清国产| 欧美美女喷水视频| 国产91精品露脸国语对白| 婷婷综合另类小说色区| 国产精品理论片在线观看| 粉嫩aⅴ一区二区三区四区| 欧美在线短视频| 一区二区三区精品视频在线| 99久久国产综合精品色伊| 最新欧美精品一区二区三区| 欧美欧美欧美欧美| 日韩久久免费av| 亚洲亚洲人成综合网络| 黄页视频在线91| 国产激情91久久精品导航| 亚洲精品成人少妇| 麻豆91精品91久久久的内涵| 国产电影一区二区三区| 国产做a爰片久久毛片| 日韩欧美国产一区二区在线播放| 中文天堂在线一区| 成人激情av网| 亚洲精品福利视频网站| 亚洲激情六月丁香| 91极品视觉盛宴| 处破女av一区二区| 日产欧产美韩系列久久99| 成人欧美一区二区三区小说| 2014亚洲片线观看视频免费| 欧美一区二区成人| 宅男噜噜噜66一区二区66| 欧洲一区在线观看| 精品视频在线看| 欧美日韩免费在线视频| 欧美性猛交一区二区三区精品| 色噜噜夜夜夜综合网| 91免费观看国产| 一本一道综合狠狠老| 色香蕉成人二区免费| 色呦呦国产精品| 99视频有精品| 一本大道久久a久久综合婷婷| 成人av资源下载| 91丨porny丨在线| 91久久精品网| 6080午夜不卡| 3atv一区二区三区| 欧美成人国产一区二区| 久久久无码精品亚洲日韩按摩| 久久你懂得1024| 中文字幕 久热精品 视频在线 | 综合欧美一区二区三区| 亚洲同性gay激情无套| 亚洲四区在线观看| 亚洲精选在线视频| 亚洲韩国一区二区三区| 免费观看一级欧美片| 国产成人午夜精品5599| 91最新地址在线播放|