超碰91资源站-超碰97豆花-超碰97人妻-超碰97人人干-超碰97人人香蕉-超碰97天天操-超碰97在线资源站-超碰97资源站共享-超碰97资源站总站-超碰aa在线91-超碰av操-超碰爱爱

半岛外围网上直营

ASP.NET 利用AJAX實現搜索提示

轉帖|其它|編輯:郝浩|2011-08-01 14:14:35.000|閱讀 714 次

概述:我平時的軟件開發中,信息的搜索是經常碰到的,增加搜索關鍵字提示是提高用戶體驗的一種很好的辦法。今天就介紹下在ASP.NET如何利用AJAX來實現搜索的信息提示!

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

  我平時的軟件開發中,信息的搜索是經常碰到的,增加搜索關鍵字提示是提高用戶體驗的一種很好的辦法。今天就介紹下在ASP.NET如何利用AJAX來實現搜索的信息提示!

       1.需要了解的一些知識點

 (1)AJAX對象不同瀏覽器的創建

  不同的瀏覽器對AJAX(XMLHttpRequest)對象的實現是不一樣的,例如IE瀏覽器是通過ActiveX控件來實現AJAX對象。而其他一些 瀏覽器比如火狐,它將AJAX對象實現成了一個瀏覽器內部的對象叫XMLHttpRequest,所以不同的瀏覽器創建AJAX對象的方式也就不同,那么 我們來看看不同瀏覽器之間創建AJAX對象的方式:

   在IE瀏覽器下面的創建:

        //IE瀏覽器
        try {
             //IE5.0
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
             try {
                 //IE5.5 以上版本
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) { }

  在火狐瀏覽器下面的創建:

        //火狐, Safari 等瀏覽器
        httpRequest = new XMLHttpRequest();

  多瀏覽器AJAX對象創建函數: 

function createAjaxObj() {
     var httpRequest = false;

     //判斷是否包含XMLHttpRequest對象 PS:將來IE高也有可能繼承次對象
    if (window.XMLHttpRequest) {
         //火狐 , Safari 等瀏覽器
        httpRequest = new XMLHttpRequest();
         if  (httpRequest.overrideMimeType)
             httpRequest.overrideMimeType('text/xml' );

    }//判斷是否支持Active控件對象
    else if (window.ActiveXObject) {
         //IE瀏覽器
        try {
             //IE5.0
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
         } catch  (e) {
             try  {
                 //IE5.5以上
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
         } catch  (e) { }
         }
     }
     //返回創建好的AJAX對象
    return httpRequest;
}

  (2)文本框內容改變的事件在不同瀏覽器下的使用

  文本框內容改變的事件目前來說還沒有一個標準的版本。我們目前只關心IE與火狐好了,那么在IE和火狐下這兩個時間分別怎么表示呢?

          IE: onpropertychange

           FireFox: oninput

   那么如何在頁面加載時,根據瀏覽器給文本框附加對應的change事件呢?

  1.JS如何判斷瀏覽器版本

//IE瀏覽器
if (navigator.userAgent.indexOf("MSIE") >0)
{ }

//火狐瀏覽器
if (isFirefox = navigator.userAgent.indexOf("Firefox") >0)
{}

   2.根據瀏覽器版本給文本框附加對應事件

function getOs() {
     //判斷瀏覽器類型 
if (navigator.userAgent.indexOf("MSIE") >0) {
         //此時假設文本框id為'txtSearch'
//為文本框附加IE所支持的事件
        document.getElementById('txtSearch').attachEvent("onpropertychange", search);
         OsTyep  ="MSIE";
     }  elseif (navigator.userAgent.indexOf("Firefox") >0) {
         //此時假設文本框id為'txtSearch'
//為文本框附加火狐所支持的事件
        document.getElementById('txtSearch').addEventListener("input", search, false);
         OsTyep  ="Firefox";
     }
}

  3.根據瀏覽器版本給文本框清除對應事件

function ClearOS() {
     if (navigator.userAgent.indexOf("MSIE") >0) {
        //此時假設文本框id為'txtSearch'
         //為文本框清除IE所支持的事件
         document.getElementById( 'txtSearch').detachEvent("onpropertychange", search);
         OsTyep  ="MSIE";
     }  elseif (navigator.userAgent.indexOf("Firefox") >0) {
        //此時假設文本框id為'txtSearch'
         //為文本框清除火狐所支持的事件
         document.getElementById( 'txtSearch').removeEventListener("input", search, false);
         OsTyep  ="Firefox";
     }
}

  2.客戶端的設計

  (1)實現流程的分析

  了解完以上知識點之后,我們來看一下實現搜索提示的一個整體流程:

  •  首先客戶端通過文本框輸入事件捕獲輸入的關鍵字
  • 在通過我們之前創建好的AJAX對象提交給服務器
  • 服務器接受提交的關鍵字,進行查詢將結果集返回給客戶端進行顯示

  (2)樣式的編寫

  那么接下來我們來看一下樣式,其中包括當文本框鼠標移動上去給邊框加顏色與搜索結果行選中的樣式等,這里就不細說了,列舉出來供參考:

 <style type="text/css" media="screen">
     body
     {
         font:11px arial;
     }
     /*設置提示提示列表上的樣式表*/
     .search_link
     {         
          background-color:#FFFFFF;
          cursor: pointer;
          line-height:24px;
          text-indent:6px;
     }
     /*設置當鼠標移動到提示列表上的樣式表*/
     .search_link_over
     {     
          background-color:#E8F2FE;
          cursor: pointer;
          line-height:24px;
          text-indent:6px;

     }
    
     /*設置顯示搜索提示div的樣式表*/
     #search_div
     {
         position:absolute;
         background-color:#FFFFFF;
         text-align:left;
         border:1px solid #000000;
         border-top:0px;
         display:none;
         min-width:553px;
         width:553px;
     }
    
     /*文本框樣式*/
     .mainInput  {
     line-height: 26px;
     height: 28px;
     width: 550px;
     font-size: 16px;
     font-family:  "微軟雅黑", "宋體", Candara;
     font-weight: normal;
     color: #666;
     margin: auto;
     border: none;
     text-indent: 8px;
}
    
     /*鼠標放上文本框樣式*/
     .mainInputOver  {
     width:552px;
     height:30px;
     border-top-width: 1px;
     border-right-width: 1px;
     border-bottom-width: 1px;
     border-left-width: 1px;
     border-top-style: solid;
     border-right-style: solid;
     border-bottom-style: solid;
     border-left-style: solid;
     border-top-color: #b7b7b7;
     border-right-color: #d0d0d0;
     border-bottom-color: #d0d0d0;
     border-left-color: #d0d0d0;
}
/*鼠標離開文本框樣式*/
.mainInputFocus  {
     width:552px;
     height:30px;
     border: 1px solid #41b5f2;
}

/*點擊文本框樣式*/
.myBorder
{
     width:552px;
     height:30px;
     border-top: 1px solid #CCCCCC;
     border-bottom: 1px solid #DDDDDD;
     border-left: 1px solid #DDDDDD;
     border-right: 1px solid #DDDDDD;    
}
     </style>

  (3)aspx頁面與ajax_search.js文件的編寫

  接下來就是一個比較重要的環節了,aspx頁面與ajax_search.js文件中包含了整體包括顯示與請求的方法例如:

  1.頁面的實現

<body onload="getOs()" onkeydown="if(event.keyCode==13)return false;">
     <form id="form1" runat="server">
     <div>
     <div class="myBorder" onmouseover="this.className='mainInputOver'" onmouseout="this.className='myBorder'"  onclick="this.className='mainInputFocus'">
     <input type="text" id="txtSearch"  name="txtSearch" onblur="HiddenDiv()" alt="SearchCriteria" autocomplete="off" class="mainInput"/>
     </div>
     <!--該DIV作為現實搜索提示的結果-->
     <div id="search_div" style="margin-top:0px"></div>
     </div>
     </form>
</body>

   2.根據瀏覽器創建AJAX對象

var searchReq = createAjaxObj();
var OsTyep ='';

function getOs() {
     //判斷瀏覽器類型 
if (navigator.userAgent.indexOf("MSIE") >0) {
         document.getElementById( 'txtSearch').attachEvent("onpropertychange", search);
         OsTyep  ="MSIE";
     }  elseif (navigator.userAgent.indexOf("Firefox") >0) {
         document.getElementById( 'txtSearch').addEventListener("input", search, false);
         OsTyep  ="Firefox";
     }
}

function ClearOS() {
     if (navigator.userAgent.indexOf("MSIE") >0) {
         document.getElementById( 'txtSearch').detachEvent("onpropertychange", search);
         OsTyep  ="MSIE";
     }  elseif (navigator.userAgent.indexOf("Firefox") >0) {
         document.getElementById( 'txtSearch').removeEventListener("input", search, false);
         OsTyep  ="Firefox";
     }
}

function createAjaxObj() {
     var httpRequest =false;

     //判斷是否包含XMLHttpRequest對象 PS:將來IE高也有可能繼承次對象
if (window.XMLHttpRequest) {
         //火狐 , Safari 等瀏覽器
        httpRequest =new XMLHttpRequest();
         if (httpRequest.overrideMimeType)
             httpRequest.overrideMimeType( 'text/xml');

         //ie: onpropertychange
//ff: oninput
    } //判斷是否支持Active控件對象
elseif (window.ActiveXObject) {
         //IE瀏覽器
try {
             //IE5.0
            httpRequest =new ActiveXObject("Msxml2.XMLHTTP");
         }  catch (e) {
             try {
                 //IE5.5以上
                httpRequest =new ActiveXObject("Microsoft.XMLHTTP");
             }  catch (e) { }
         }
     }
     //返回創建好的AJAX對象
return httpRequest;
}

  3.創建請求與返回數據的顯示

//異步請求服務器獲取搜索結果
function search() {
     if (searchReq.readyState ==4|| searchReq.readyState ==0) {
         //獲得文本框中的值
var valStr = escape(document.getElementById("txtSearch").value);
         //建立連接
        searchReq.open("GET", encodeURI('Search.ashx?search='+ valStr+'&fresh='+ Math.random()), true);
         //當請求狀態改變時調用 handleSearch方法
        searchReq.onreadystatechange = handleSearch;
         searchReq.send( null);
     }
}

//返回結果處理方法
function handleSearch() {
     if (searchReq.readyState ==4) {
         //獲得搜索提示結果的元素DIV
var searchDIV = document.getElementById("search_div");
         searchDIV.innerHTML  ="";

         //用^將返回的文本數據分割成數組
var resultStrArr = searchReq.responseText.split("^");

         //循環構建HTML代碼
for (var i =0; i < resultStrArr.length -1; i++) {
             var htmlStr ='<div onmouseover="selectOverDiv(this,'+i+');" ';
             htmlStr  +='onmouseout="selectOutDiv(this,'+i+');" ';
             htmlStr  +='onclick="setSearch(this.innerHTML);" ';
             htmlStr  +='class="search_link " style="display:block;width:100%;" >'+ resultStrArr[i] +'</div>';

             searchDIV.innerHTML  += htmlStr;
         }
         ShowDiv();
         x  =-1;
     }
}

   4.將數據選中數據顯示文本框中

  上邊代碼中在循環構建HTML代碼時,我們給構建的DIV加入了三個事件分別是:

  1 onmouseover="selectOverDiv(this,'+i+');" 

   2 onmouseout="selectOutDiv(this,'+i+');&quot; 

  當鼠標放上去時調用selectOutDiv函數傳遞自己進去

  3 onclick="setSearch(this.innerHTML);"

  當鼠標點擊DIV時調用setSearch函數傳入本身DIV中內容

  那么還是來看下這幾個方法的實現吧:

function selectOverDiv(div_value, i) {   
     div_value.className = "search_link_over";
     var my_div = document.getElementById( "search_div").getElementsByTagName("div")
     var the_num =  my_div.length;
     for (var k = 0; k  < the_num; k++) {
         selectOut(my_div[k]);
         if (k ==  i) {
             selectOver(my_div[k])
         }
     }
     isCheckDiv = true ;
     x =  i;
}

function selectOutDiv(div_value,i) {
     isCheckDiv =  false;
     div_value.className =  "search_link";
     x  = i;
}

function setSearch(value) {
     //清空文本框的內容改變事件是因為我們給選中值復制時 該事件會觸發 
    //所以先清空次事件
    ClearOS();
     document.getElementById( "txtSearch").value = value;
     //設置該屬性為false 在調用HiddenDiv函數會隱藏提示結果DIV
    isCheckDiv = false; 
     HiddenDiv();
     //在賦值完成后再次附加修改時間
    getOs();
}

function ShowDiv() {
     var content = document.getElementById( "txtSearch").value;
     var divConten = document.getElementById( "search_div").innerHTML;
     if (content != ''  && divConten != '') {
         document.getElementById( "search_div").style.display = "block"
    } else {
     isCheckDiv = false ;
     HiddenDiv();
     }
    
}
function HiddenDiv() {
     if (isCheckDiv == false ) {
         document.getElementById( "search_div").style.display = "none";
         document.getElementById( "search_div").innerHTML = '';
     }
}

   5.增加鍵盤上下鍵選中提示數據與回車鍵選中數據到文本框

var index =-1; //表示當前選中的行索引
function keyDown() {
     var value = event.keyCode
     //向上38,向下40,回車13
var the_key = event.keyCode 
     //判斷提示DIV是否是現實狀態
if (document.getElementById("search_div").style.display !="none") {
         //獲取里面所用行
var my_div = document.getElementById("search_div").getElementsByTagName("div")
         var the_num = my_div.length;
         switch (the_key) {
             case40: //向下
//判斷index是否已經到最下面
if (index == the_num -1) {
                     index  =0;
                 }  else {
                     index ++;
                 }
                 //清楚所有選中
for (var i =0; i < the_num; i++) {
                     selectOut(my_div[i]);
                 }
                 //根據index選中對應索引行
for (i =0; i < the_num; i++) {
                     if (i == index) {
                         selectOver(my_div[i])
                     }
                 }
                 break;
             case38: //向上
//判斷index是否已經到最上面
if (index ==0) {
                     index  = the_num-1;
                 }  else { index--; }
                 //清楚所有選中
for (var i =0; i < the_num; i++) {
                     selectOut(my_div[i]);
                 }
                 //根據index選中對應索引行
for (i =0; i < the_num; i++) {
                     if (i == index) {
                         selectOver(my_div[i])
                     }
                 }
                 break;
             case13: //回車
//將選中的內容放入文本框中
if (my_div[index].innerHTML !=null) {
                     setSearch(my_div[index].innerHTML);
                 }
                 break;
         }

     }

}
document.onkeydown = keyDown;

   3.服務器端的設計

  (1)實現一個虛擬的數據源

  前臺傳來關鍵字,后臺必須要有數據匹配,為了簡單我就不建立數據庫了 我就模擬一個數據源好啦!

  步驟:右鍵項目 --> 添加新項--> 選擇一般處理程序命名為:Search.ashx 編寫代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.CodeDom;
using System.Globalization;
using System.ComponentModel;
using System.Collections;

public class Search : IHttpHandler {

     //定義一個數據源
     public List <string> DataSource
     {
         get
         {
             List <string> list = new List<string>()
             {
                 "我愛C#",
                 "我愛.NET",
                 "我愛微軟技術"
             };
             return list;
         }
     }
    
     public void ProcessRequest (HttpContext context) {
         context.Response.ContentType =  "text/plain";
     }
 
     public bool IsReusable {
         get {
             return false;
         }
     }

}

  (2)搜索數據源返回固定格式數據以字符串形式

  緊接著我們要在ProcessReques方法中加入我們搜索數據源構建返回相應數據集,拼接結果字符串返回給客戶端。代碼如下:

  public void ProcessRequest (HttpContext context) {
         context.Response.ContentType = "text/plain";

         //接受客戶端關鍵字并且解碼
       string searchStr = HttpUtility.UrlDecode(context.Request.QueryString[ "search"].ToString(), System.Text.Encoding.UTF8);

         //搜索數據源集合中匹配的關鍵字
         var result = (from string n in DataSource
                           where n.Contains(searchStr)
                           select n).ToList <string>();
        
         StringBuilder sb = new StringBuilder(100);
         //將匹配關鍵字用符號^ 分割拼接成字符串
         foreach (string str in result as List <string>)
         {
             sb.AppendFormat( "{0}^", str);
         }
         //返回客戶端
         context.Response.Write(sb.ToString());
     }

標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn

文章轉載自:博客園

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
利記足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 真人boyu·博魚滾球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 最大網上PM娛樂城盤口(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規雷火競技官方買球(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 雷火競技權威十大網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) boyu·博魚信譽足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 權威188BET足球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規188BET足球大全(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 国产偷窥综合久久 | 91精产国品一二三产区粉粉 | 韩国精品一区二区三区无码视频 | 国产麻豆视频 | 成人黄色大片 | 精品国产片免费在 | 成人精品在线观看 | 韩国久久三级电影 | 国产欧美va | 国产成人手机视频 | 国产成人无码区免费内射一片 | 国产成人精品无码一区二区 | 韩国日本免费高清观看 | 精品少妇人妻av无码专区不卡 | 国产一区二三 | 国产av乱码一区二区三区 | 国产自慰网址 | 国产精品亚欧美一区二区三区 | 国产午夜精品自在自线专区 | 国产成人无码v片在线观看 国产成人无码v在线播放不卡 | 国产肥熟女视频一区二区i 国产肥熟女视频一区二区三区 | 激情婬乱a片无码一二三区下 | 国产日韩久久免费影院 | 国产精品一区二区三区三洲欧洲 | 精品国产一区二区三区av性 | 调教女孩自慰网站免费观看 | 囯产精品久久久久久久久免费蜜桃 | 国产成人精品亚洲v无人区一区 | 国产91精品高潮白浆喷水 | 91精品国产现在观看 | 国产综合亚洲欧美另类久久久精品 | 91久久国产视频 | 国产韩国精品一区二区三区久久 | 国产欧产精品精品免费 | 国产午夜福利在线观看 | 国产麻豆メ在线视频 | 国产人妖性一区二区 | 成熟女人特级毛片www免费 | 国产精品福利在线观看 | 国产成人精品无码一区二区 | 99精品国产综合久久久久五月 | 国产精品无遮自慰 | 精品视频免费观看 | 高潮一区二区三区四区在线播 | 国产在线一区二区三区色欲观看 | 91亚洲国产日韩欧美在线播放 | 国产成人最新毛片基地 | 国产另类ts人妖一区二区 | 国产精品成人扳**a毛片 | 国产精品成人一区无码毛片 | 国产女同一区二区三区五区 | 精品人妻自在现线综合视频 | 国产欧美成人一区二区三区 | 动漫精品一区二区三区在线 | 精品国偷自产在线视频99 | 国产熟女亚洲精品明星自拍 | 国产高清亚洲一区二区三区 | 1024你懂的在线播放欧日韩 | 国产精品一区二区尿失禁 | 国产av成人无码精品网站 | 国产成人无码免费视频软件 | 国产精品亚洲日韩欧美色窝窝色欲 | 国产精品一区二区三区播放 | 国产美女爽到喷出水来视频 | 苍井空一区二区 | 国产成人精品免费视频 | av免费无码在线 | 国产精品色在线免费 | 国产一区二区三区免费观看 | 99国产一区 | 国产99er66在线视频 | 国产av日韩av一区二区 | 国产在线91精品入口 | 精品亚洲av无码专区毛片 | 爆乳美女脱内衣18禁裸露网站 | 91久久久久新精品 | 国产午夜福利啪啪 | 国产午夜毛片v区一区二区三区 | 18禁无遮挡爽爽爽无码视频 | 国产成人精品一区二区不卡 | 高潮流白浆潮喷在线观看 | 国产精品九九久久精 | 精品人妻av无码一区二区三区 | 国产91丝袜播放动漫 | 国产黄色喷水视频 | 国产午夜精品一区二区三 | 国产麻豆精品福利在线观看 | 国产成人欧洲亚洲 | 岛国在线一区二区三区四区 | 国产日韩亚洲欧美视频在线 | 国产精品国产三级囯产av中文 | 国产成人av在线免播放观看 | 99久久久久免费精品国产 | av免费网站在线观看 | 91精品国产综合久久久久久 | 国自产拍偷拍精 | 国产精品白丝久久av情趣网站 | 韩国美女直播视频播放 | 成人午夜视频网站 | 国产一区二区二区无码网站 | 99久久国产综合精品五月天 | 2025最新四虎永久免费一区 | 国产成人aⅴ片在线观看 | 91精品国自| 91在线无码精品密蜜桃 | 国产免费一区二区三区在线观 | 国产精品国产亚洲精品不卡 | 国产精品美女久久久 | 91丝袜长| av无码精品一区二区久久 | 国产午夜av免费在线观看 | 精品久久久无码人妻中文字幕 | 99国精产品一区二区三区a片 | 国产精品白嫩极品久久久久 | 成人日韩欧美国产黄片视频 | 国产精品成aⅴ人片在线观看 | 国产av无码专区亚洲a∨ | 精品无码一级午夜一区二区 | 国产亚洲曝欧美精品手机在线 | 韩国无码一区二区三区免费视频 | 成人在线观看一区 | 国产三级在线视频播放线 | 国产精品无码一级毛片不卡 | 精品人妻无码专区在中文字 | 国产指交视频在线观看 | 精品无码久久久久国产 | 精品国产高清免费第一区二区三区 | 国产在线观看一区二 | 国产精品毛片精彩视频 | 国产无码精品在线观看 | 国产在线高清91av视频 | 国产亚洲日韩一区二区三区在线观 | 高清无码精品特黄 | av性色大片 | 国产品精十八禁免费的网站 | 99精品免费看久久 | 高清无码不卡视频 | 国产高清日韩在线播放 | 91成人免费观看 | 国产极品粉嫩福利姬萌白酱 | av中文字幕剧情不卡 | 国产精品一精品二精品三 | 国产一区福利 | 2025国精产品一二三四区 | 91精品国产品国语在线不卡 | 国产丝袜视频一区二区三区 | 成人三级视频在线观看一区二区 | 911视频在线精品亚洲 | 国产日韩欧美一区二区综合区 | 国产精品无套 | 国产成人亚洲精品无码 | 国产精品一区久久久久 | 国产每日更新 | 国产精品成人无码a无码 | a片人禽杂交视频在线观看 a片人人澡c片人人人妻蜜臀 | 精品国产91性色tv | 国产喷水一区二区三区蜜臀 | 99久免费精品视频在线观看 | 2025国产91精品久久久久久 | av中文字幕精品一区二区久久久 | 国产高清在线有码中文字幕 | 国产成人av性色在线影院 | 2025亚洲精品无码在钱 | 国产无套乱子伦精彩是白视频 | 国产在线91免费网站 | 国产亚洲欧美另类第一页 | 国产成人在线观看网站 | 国产丝袜在线精品丝袜不卡 | 国产成人在线观看高清无删减 | 91在线无精精品秘?入口 | 国产在线观看一区二区三区四区 | 国产色哟哟精品无码www | 精品国产人成亚洲区 | 国产亚洲日韩在线a不卡 | 精品黑人一区二 | 国产成人无码专区bd国语中字 | 91午夜福利国产在线观看 | 国产美女极度色诱视频ww | 国产尤物网站尤物在线看 | 国产视频一区在线 | 国产精品一区二区午夜嘿嘿嘿小说 | 国产成视频在线观看片 | 国产精品亚洲专区无码老司国 | 91麻豆精品国产一区色欲 | 国产自在自线午夜精品视频在 | 国产成人精品一区二区三区视频 | 成人欧美日韩 | 成人做爰视频www | 国产成人av大片大片在线播 | 加勒比中文无码久久综合色 | 国产一区二区三区乱码在线 | 国产成人精品亚洲v无人区一区 | 91精品国产成人网在线观看 | 国产成人无码精品久久久小说 | 国产成人8x视频一区二区 | 国产高清无码不卡二区三区 | 精品国产免费久久无码 | 国产一本大道中文在线 | 精品国产一区二区久久久浪潮av | 国自产拍视频在线无码 | 91尤物在线中文 | 国产亚洲一区二区三区在线观看 | av日韩人妻黑人综合无码 | av无码一区二区 | 精品国产一区av | av在线播放不卡播放 | 国产精品人成a片一区二区下载 | 国产sm主人调教女m视频 | 91久久久精品人妻无码专区不卡 | 国产传媒激情精品 | 国产精品丝袜一区二区三区在线 | 精品无码aⅴ大香 | 国产亚洲欧美日韩综合综合二区 | 国产在线观看91app | 国产成人精品午夜福利电影 | 国产免费私拍一区二区三区 | 精品午夜福利无人区乱码一区 | 国产一区二区三区不卡在线观看 | 国产精品麻豆入口92 | 国产av永久无码天堂影院 | 国产91司机在线观看 | 精品国产女主播在 | 国产精品大 | 国产一区二区三区四区观看 | 精品国产区一区二区三区在线观看 | 黄色av片免费在线观看 | 国产黄色视频在线观看免费 | 加勒比在线精品视频 | 国产日韩另类视频一区爱 | 国产成人mv在 | 国产精品无码av片在线观看 | 国产精品宅男宅女a | 高清成人爽a毛片免费 | 高清无码午夜福利视频 | 91在线国产一区二区 | 福利一区福利二区微拍 | 国产成人精品日本亚洲专一区 | 国产嫩草在线观看视频 | 国产成人免费片在线观看 | 国产精品国产免费无码专区蜜桃 | 岛国在线无码免费观看 | 国产美女精品久久久久中文 | 波多野结衣日本一区二区在线观 | 国产尤物精品视频 | 91久久国产综合精品女同 | 精品丰满少妇一区二区 | 99久久国内精品成人免费 | 国产三级在线播放网址 | 成人bt核工厂合集 | 国产三香港三韩国三级不卡 | 高潮真紧好爽我视频 | 国产精品va在线观看手机版 | 国产麻豆传媒 | 国产尤物精品自 | 国产人妖视频一区二区 | 国产一区二区精 | 国产精品无码影视久久久久久久 | 精品少妇爆乳无码aⅴ区蜜臀av | 国产做a爰片毛片a片美国 | 国产丝袜精品一区二区在线观看 | 国产精品1024在线永久免费 | 国产精品一区二区资源 | 国产亚洲欧美日韩久久图片 | 精品国产99久久无毒不卡 | 国产高潮流白浆喷水免费视频 | 国产人妖视频一区二区 | 国产精品无码福利午夜专区 | 国产成年女人特黄特色大片免费 | 97人人夜夜视频精品 | 国产成人三级视频在 | 国产成人麻豆精品午夜国产精 | 国产91久久精品一区三区 | 国产女性精品一区二区三区 | 国产欧美一二三区男女交配 | 国产成人无码不卡精品久久久 | 丰满少妇大力进入 | 国产成人亚洲精品无码h | 91啪在线观| 国产午夜无码喷水福利 | 精品日韩欧美亚洲 | 国产区在线视频就爱 | 国产人妖ts | 国产91高清在线 | 国产精品白富美sm调教三部曲 | 国产成人综合在线 | 国产无套护士丝袜在线观看 | 高h短篇辣肉各种姿势自慰h | av人人澡人人爽人人夜夜 | 成人α片免费视频在线观看 | 国产在线播放综合网房 | 国产精品午夜福利在线观看 | 国产精品爆乳无码一区二区三区 | 成人欧美s视频在线观看 | 东京热人妻无码一区二区av | 国产福利一区二区在线精品 | 高清自拍亚洲精品二区 | 国产色婷婷免费视频 | 国产成人无码午夜视频在线观 | 91久久国产综合精品女同国语 | 精品日产一区二区三区 | 国产精品日产无码av永久不卡 | 国产精品国产福利在线观看 | 911国产自产精品a | 国产精品无码永久免费888 | 国产成人丝袜网站在线观看 | 国产高清不卡一区二区三区 | 国产人妻人伦精品午夜剧场 | 国产欧美日韩另类一区乌克兰 | 国产日韩a视频在线播放视频 | 国内福利写真片视频在线观看 | 91天堂一区二区三区在线观看 | 波多野结衣高清一区二区三区 | 国产一区二区三区乱码在线观看 | 2025天天做夜夜爽视频综合 | 国产成人一区二区三区app | 囯产精品久久久久久久久久无 | 国产欧美韩国一区二区在线播放 | 精品系列无码视频在线观看 | 国产成人免费永 | 91麻豆精品国产自产在线观 | 91国语露脸精品国产 | www成人在线观看 | 国产猛烈高潮 | 东京热无码人妻一区二区av | 国产动漫一区二区三区在线观看 | 国产精品一区在线 | 成人一区在线 | 国产精品视频一区二区三区 | 国产精品成人啪精品视频免费观看 | 国产在线91高清 | 成人免费一区二区三区视频软件 | 国产成人三级在线播放 | 高清偷自拍亚洲精品三区 | 国产午夜激情视频 | 国产三级精品电影视频 | 高潮喷水视频一区二区三区 | 国产高清不卡视频 | 精品国产一级精品毛片基地 | 国产无套gv在线观看 | 91精品欧美一区二区综合在线 | 国产精品色婷婷视频 | 国产午夜无码精 | 国产精品成人三级 | 国产精品一区二区三区在线播放 | 国产一二三区视频 | 97人人添人澡人人爽超碰 | 国产aⅴ精品一区二区三区久久 | 国产一区二区三区四区五区 | 国产精品毛片在线完整版 | 国产成人精品系列在线观看 | 高清国产一级精品毛片基地 | 国产一区二区三区日韩精品欧美 | 精品麻豆一二三区 | 国产真人无码作爱免费视频久 | 白浆一区二区在线观看 | 国产视频一区在线观看 | 91精品人妻一区二区三区蜜 | 国产三级在线播放网址 | 韩国午夜三级电影 | 国产成人无码a区在线观看视频 | av无码勒比 | 国产专区无码午夜 | 91久久精品国产亚洲 | 国产丝袜91 | av中文字幕专区 | 国产精品欧美一区不卡亚洲 | 国产波霸爆乳一区二区 | 国产一区二区视频在线观看 | 岛国久久久久精品aaaa综合 | 99久久精品日本一区二区免 | 国产成人无码aⅴ片 | 国产成本人三级在 | 91蜜桃传媒精品久久久一区二 | 国产成人a亚洲精v品无 | 国产爆乳无码一区二 | 国产色视频一区二区三区 | 国产原创精品国产专区 | 国产成人高清精品亚洲网站 | 国外免费人妖网视频在线观看 | 国产高清午夜成人在线观看 | 99久久一区| 国产一区二区不卡 | 国产成人精品无码a区在线观看 | 国产av无码专区亚洲awww | 国产欧美久久一区二区三区 | 二区秒播 | 国产一区在线观看免费 | 国产精品一区2区三区内射 国产精品一区91 | 丰满多毛少妇做爰视频爽爽和 | 国产成人综合亚洲不在线 | 精品亚洲aⅴ无码专区毛片 精品亚洲aⅴ在线观看 | 精品福利在线 | 国产欧美久久久久久精品一区二区 | 国产二区在线播放 | av无码不卡 | 成人小说一区二区三 | 丰满少妇人妻久久久久久 | 激情综合一区二区三区 | 91桃色无码国产在线观看二区 | 国产一区二区三区av黄片 | 国产自产v一区二区三区c按摩 | 国产精品伦一区二区三级视频 | 国产精品盗摄!偷窥盗摄 | 国产aⅴ一区二区三区精品 国产aⅴ一区二区三区片 | 精品日韩欧美在线 | 91精品丝袜国产在线一区 | 成人国内免费精品视频在线观看 | 国产精品白丝久久av网站 | 国偷自产一区二区三区蜜臀 | 国产真实露脸在线观看 | 国产偷抇久久精品a片蜜臀a | 国产尤物福利在线不卡 | 精品麻豆视频播放 | 91精品福利久久久 | 1000部啪啪未满十八勿入免费 | 91人妻无码精品一区二区三区 | 精品国产一区二区三区三洲 | 国产精品入口麻豆免 | 69成品人视频免费看手机最新 | 91午夜在线免费观看小视频 | 精品人妻一区二区三区视频 | 国产成年无码久久久久毛片 | 成人av在线一区二区三区四区 | 加勒比中文字幕无码不卡 | a级毛片水真多 | 国精品无码一区二区三区在线 | 国产精品一线二线三线精华液 | 国产精品日日摸夜夜添夜夜 | 99久久精品免费观看区一 | 国产超级a在线播放久日本 国产超级va在线观看 | 国产成人亚洲精品影院 | 国产成人综合久久精品推下载 | av无码久久久久不卡网站毛片 | 国产高清精品在线 | 国产一区二区三区国产精品 | 99国产精品一区二区 | 国产精品无码无卡在线观看 | 国产无码在线 | 91精品国产自产91精品蜜臀 | 精品麻豆一区二区 | 国产在线观看免费无码 | 国产一区二区播放 | 国产黑色丝袜在线观看片不卡顿 | 国产一区二区三区观看 | av一区二区三区高清久久 | 91人妻无码精品一区二区毛片 | 高清在线精品一区二区三区 | 波多野结衣的av一区二区三区 | 国产专区无码午夜 | 国产精品爆乳奶水无码视频 | 国产日韩a片 | 国产丝袜在线精品丝袜不卡 | 成人av一区二区三区精品 | 精品无码人妻一区二区三区品 | 国产精品青青在线一区 | 国产极品美女一区二区三区 | 国产交换配乱婬视频偷 | 国产成人黄色网站 | 91精品婷婷国产综合久久 | 国产精品边做奶水狂喷无码 | 国产亚洲一区二区在线 | 国产一区二区三区乱码 | 国产精品成人观看视频免费 | 国产女同一区二区在线 | 国产aⅴ无码 | 国产爆乳无码av一区二区 | 国产无套推油按摩女视频推油 | 99久久精品日本一区二区免 | 国产三级不卡电影 | 国产91av在线 | av手机在线观看 | 国产精品一二三区久久狼 | 国产麻豆a一级毛片爽爽影院 | 丰满人妻系列无码专区 | 国产原创在线观看播放 | 91在线视频是否值得信赖 | 国产精品高清国产三级国产 | 国产剧情巨作在线观看 | 成人亚洲理论片在线观看 | 国色天香第01集在线播放 | 国产在线午夜卡精品影院 | 国产v欧美ⅴ日韩v在线观看 | 97人妻起碰免费公开视频不卡 | 国产黄色二级片 | av无码精品一区二区三区 | 韩国一区二区三区视频在线播 | 国产成人精品免费视频动漫 | 国产成人av一区 | 国产无码网页在线观看 | 成人午夜精品视频在线观看 | 精品一区heyzo在线播放 | 国产午夜激无码αv毛片久久 | 国产拍偷精品 | 国产性爱毛片亚洲性爱在线 | 精品一区二区三区盗摄 | 国产成人无码精品久久久免费 | 国产精品成人网红女主播 | 2025自拍偷在线 | 99久久国产精品无码 | 成人免费无码大片a | 国产精品爆乳亚洲专区无码牛牛 | 国产毛片一级在线 | 国产美女精品一区二 | 国产精品国语对白一区二区 | 国产无码不卡一区二区三区 | 精品国色天香新区卡一卡二 | 国产xxx69麻豆国语对白 | 91久久国产电影 | 国产成人麻豆亚洲综合无码精品 | 黑人巨大精品欧美一区二区 | 国产麻豆 | 国产精品偷伦视频 | 精品无码永久在线观看你懂的 | 国产拍揄自揄精品短视频 | 精品亚洲成a人片在线观看少妇蜜 | 国产内地激情精品毛片在线一 | 国产一区欧美日韩另类 | 91视频播放 | 国产美女作爱在线观看 | 国产成人精品亚洲77美色 | 国产精品无码麻豆放荡av | 国产三级小视频在线观看 | 国产午夜视频在线 | 成年女人a毛片免费观看 | 国产精品萌白酱在线观看 | 69国产成人综合久久 | 国产超爽人人爽人人做 | 国产精品三级av三级av三级 | 国产精品无码一区二区久久 | 3d动漫精品啪啪一区二区免 | 国产成人手机在线视频在线观看 | 国产丰满麻豆vid | 国产aⅴ精品一区二区三区久 | 国产成人综合久久精品可下载 | 91丝袜在线观看亚 | 国产福利姬喷水福利在线观看 | 国产精品va一级二级三级电影 | 国产成人综合亚洲无码中字 | av在线中文字幕不 | 成人毛片一区二区 | 国产麻豆剧果冻传媒浮生影视 | 国产成人精品第一区二区三区 | av在线三级毛片 | 国产午夜福利精品在线观看不卡 | 成人一区欧美高清夜夜片a 成人一区三区 | 91精品国产一区自在线拍 | 国产av一区不卡麻豆 | 国产日韩欧美女同一区二区 | 成人国产精品秘片多多 | 成人国产亚洲欧美成人综合网 | 91麻豆精品国产9 | av无码免费岛国动作片 | 国产精品高清无码在线观看 | 国产成人亚洲精品无码青青草原 | 国产女主播在线观看五月 | 国产亚洲欧美另类一区二区三区 | 国产精品亚洲lv粉色 | 国产精品后入内射日本在线观看 | 国产午夜亚洲一区二区在线观看 | 成人午夜看片在线观看 | 国产成人精品无码片区 | 国产日韩精品无码去免费专区国产 | 国产成人手机在线视频在线观看 | 国产日韩精品一区二区在线观看 | 国产一区高清视频 | 91性高湖久久久久久久久 | 变态另类欧美大码日韩 | 国产精品进线69影院在线 | 精品国产成人国产在线观看 | 国产一区在线不卡 | 国产在线观看成人免费视频 | 精品伦精品一区二区三区视 | 精品无码一级午夜一区二区 | 国产三级在线视频播放线 | 国产sm重味 | 国产精品视频一二三四五 | 91青青青国产在观免费影视 | 成人影院www蜜桃网站 | 国产精品久草在线观看 | a级毛片无码片2025 | 国产精品人人操人人爽 | 国产精品自拍欧美日韩 | 国产在线精品国自产 | 精品无码欧美一区二区三区不卡 | 国产福利91精品一区二区三 | 国产aⅴ一区二区三区片 | 国产99爱在线视频免费观看 | 91久久婷婷国产综合精品青草 | 国产一在线精 | 国产成人av无码一二三区 | www国产在线 | 国产亚洲综合日韩 | 国产精品高潮呻吟久久av旡码 | 国产一区二区三区不卡视频在线 | 国产麻豆剧果冻传媒一区 | 国产精品国三级国产aⅴ | 国产三级高清完整版在线观看 | 高清免费视频一区二区三区 | av网站免费的线看 | 99精品视频九九精品视频 | 国产午夜精品一区二区免费 | 精品亚洲福利成av人 | 国产不卡高清视频在线观看 | 国产人妻久久精品一区 | 国产日韩一区在线观看视频 | 91久久夜色精 | 91久久丝袜人妻一区二区 | 国产日韩精品一区二区在线 | 国产成人无码www免费视频在线 | 国产一级毛片特级毛国产 | 国产精品白浆无码流出免费看 | 国产超精品无码不卡av | 国产不卡视频在线播放 | 国产福利萌白酱精品tv一区 | 国产中文欧美高清字幕 | 国产精品的国产 | 国产精品va在线观看无码电影 | 国产微拍一区二区三区四区 | 18禁美女黄网站色大片免费看下 | 国产亚洲欧美久久久久 | 国产精品白丝久久av情趣网站 | av网站在线嫩草影院 | 精品亚洲aⅴ无码专区毛片 精品亚洲aⅴ在线观看 | 顶级嫩模一区二区三区 | 国产精品成人免费 | 国产精品美女在 | 国产美女黄性色 | 国产一区二区日韩欧美在线 | 国产精品盗摄一区二区在线 | 国语自产视频在线不卡 | 国产成人无码精品久久久小说 | 黄色视频亚洲一区二区无码真爽 | 精品无码av一区二区 | 成人午夜亚洲精品无码网站 | 国产69精品久久久久999三级 | 国产成人亚洲精品无码av大片 | 国产在线精品一区二区不卡麻豆 | 国产专区亚洲欧美另类在线91 | 国产一区二区女内射 | 精品国产人成亚洲区 | 国产一区二区三区日本道 | 国产丝袜系 | 国产在线播放无码不卡 | 福利姬在线观看 | 国产女人在线视频 | a区在线观看 | 国产高清乱码无卡女 | 国产麻豆剧传媒精品好看的片 | 91久久久| 国产精品岛国 | 国产黄网站在线观看视频 | 国产av无码片毛片一级久二区 | 国产女人喷液 | 国产高清无码一区二区 | 精品视频在线视频观看 | 91丝袜在线观看亚洲 | 精品国产三上悠亚在线观看 | 国产精品露脸视频观看 | 91久久亚 | 国产精品高清无码在线观看 | 国产成在线观看免 | 不卡黄片在线播放 | 国产欧美视频在线 | 91亚洲午夜三级 | 18禁强伦姧人妻又大精品国产 | 国产精品高清无码在线观看 | 国产呦精品一区二区三区下载 | 成人免费xxxxx疯狂做受 | 国产精品无码一本 | 国产av剧情 | 91高清国产经典在线观看 | 国产精品三级网站 | 国产一卡2卡3卡四卡精品网站 | 国产精品二区 | 国产一区二区影院 | 国产精品美女一区二区三区 | 国产91精品久线在线观看 | 精品国产三级久久久久三级 | 国产精品黑色丝袜 | 国产成人av国语在线观看18 | 白嫩少妇丰满一区二区 | 国产高清国产精品国产k | 成人午夜影院 | 精品国产一区二区国产精品国产 | 国产丝袜精品一区二区在线观看 | 成人一级免费激情网 | 国产精品视频观看 | 91福利视频网站 | 国产美女视频爽爽爽 | 精品欧美国产一区二区三区 | 国产一区二区三区四区五区视频 | 国产一区二区三区不卡在线看 | 国产一区二三区好的精华液 | 激情视频在线观看国产一区 | 2025无码最新国产在线观看 | 国内偷拍一区二区中文字幕av线上 | 国产精品爆乳在线播放不卡 | 国产草莓视频无码a在线观看 | 国产午夜电影在线观看不卡 | 精品无码卡通视频一区二区 | 国产3级在线观看 | 国产在线拍揄自揄视频不卡99 | 国产成人三级在线观看网址 | 国产69精品久久久久孕妇 | 东京热tokyo综合久久精品 | 国产狂喷潮视频 | 97午夜伦理 | 91大神在线精品视频一区 | 国产人妖在线 | 9191精品国产免费久久国 | 国产精品一区二区资源 | 国产91丝袜在线播放动漫蜜月 | 18禁成人黄网站免费观看 | 黑色渔网袜自慰喷水 | 国产一区二区五月天 | 国产精品国内 | 国产毛片无码专区 | 国产一区二区三区美女秒播 | 丰满人妻被公侵犯日本 | 91精品自拍视频在线观看 | 国产欧美精品一区二区三区 | av无码一区二区 | 国产喷水一区二区三区蜜臀 | 国产一区二区日韩欧美在线 | 白丝jk女仆爆乳慰喷水流白浆 | 福利精品一区二区三区 | 东京热日韩 | 国产精品无码影视久久久久久久 | 99久久综合国产精品二区 | 国产麻花豆剧传媒 | 国产午夜在线精品三级av | 精品福利一区二区三区精品 | 国产精品午夜一区二区 | 91尤物无码不卡在线 | av无码动漫一区二区精品 | 成熟女人毛片www免费版在线 | 精品人妻一区二区三区四区 | 国产精品一区二区在线观看麻 | 国产极品网站在线观看 | 国产美女网红在线观 | 国产福利姬喷水福利在线观看 | 国产精品一区二区三区污 | 国产精品成熟老女人视频 | 国产91高潮流白浆在线播放 | 国产精品成人网站在线观看 | 国产三级农村妇女野外 | 精品人妻少妇嫩草av无码专区 | 国产精品国产三级国产av剧情 | 国产做a爰片久久毛片a片 | av无码网址 | 国产高潮刺激叫喊视频 | 国产精品啪啪视频一区二区 | 国产熟女视频一区二区免费 | 国产高清在线视频精品视频 | 91视频9色是什么 | 成人国产视频在线 | 国产成人综合亚洲亚洲欧美 | 国产熟女一区二区精品免费 | 国产精品一一老牛影视视 | 精品人妻无码久久久一区二区 | 国产午夜精品自在自线专区 | 911久久香蕉国产线看观看 | 国产一在线观看视 | 国产精品女同在线观看 | 成人国产免费av一区二区三区 | 国产喷水女王在线播放 | 国产精品亚洲第一区在线28石 | 国产极品白嫩美女在线观看看 | 精品国产国语对白 | 国产三级电影经典在线看 | 国产福利麻豆精品一区 | 国产欧美日韩一区二区三区四区 | 91久久国产综合久久91大便 | 福利视频一区二区牛牛 | 18禁男女爽爽爽午夜网站免费 | 精品国产免费一区二区三区五区 | 国产毛片精品性无码 | 东京热高清中文字幕 | 精品久久久久久久一区二区 | 国产成人在线综合 | 成人精品视频99在线观看免费 | 国产成人高清成人av片在线看 | 97精品国产一区二区三区 | 国产精品无码亚洲 | 国产成人调教在线视频 | 国产自啪精品视频. | 妓女妓女一区二区三区在线观 | 91精品久久久久 | 国产一区二区三区 | 国产成人日韩欧美 | 国产专辑免费在线不卡 | 国产99久久九九精品免费 | 精品国产丝袜在线拍91 | 国产麻豆精品a在线观看 | 国产av天堂在 | 国产精品九九久久 | 91无码人妻aⅴ一区二区三区 | 国产精品毛片天天看片 | 国产av永久福利资源网站 |