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

半岛外围网上直营

一個簡單的ASP.NET的服務器控件

原創|其它|編輯:郝浩|2009-12-28 10:14:29.000|閱讀 647 次

概述:在我主持過的一個Asp.Net論壇上,一個用戶詢問如何在一個頁面上去通過hyperlink列出一個路徑下的很多文件名,能使用戶能點擊它們。我認為這是可能是經常執行的動作,所以決定建立一個服務器控件來封裝它。

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

    控件代碼: 

    在我主持過的一個Asp.Net論壇上,一個用戶詢問如何在一個頁面上去通過hyperlink列出一個路徑下的很多文件名,能使用戶能點擊它們。我認為這是可能是經常執行的動作,所以決定建立一個服務器控件來封裝它。

    起初,我嘗試了Web用戶控件,但我想能允許設置邊框,字體,背景顏色等。使用Web用戶控件,我要為每一個屬性手動設置。俗話說:“你寫的代碼越少,你的錯誤越少了”,所以我要研究一個更好的方法。

    我決定創建自己首個自定義服務器控件。我試著去繼承一個label控件,但label控件不支持滾動條。 所以,我選擇繼承Panel控件。最終的控件具有Panel控件的所有屬性(顏色,邊框,滾動支持等),再加上一些我添加自定義屬性。使用Panel控件將會盡最小的努力。

第一部分:自定義服務器控件

初始化的服務器控制相對容易。下面是最終的代碼:

代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Caching;
using System.Web.UI;
using System.Web.UI.WebControls;

[assembly: TagPrefix(
"EndWell""EW")]
namespace EndWell
{
    [DefaultProperty(
"Text")]
    [ToolboxData(
"<{0}:HyperlinkFileList runat="server">")]
    [ToolboxBitmap(
"HyperlinkFileList.ico")]
    
    
public class HyperlinkFileList : Panel
    {
        [Bindable(
true)]
      &nbsp; [Category(
"Files List")]
   &nbsp;    [Description(
"The&nbsp;Title of the list of files")]
    &nbsp;   
public string FilesTitle {getset;}

      &nbsp; [Bindable(
true)]
  &nbsp;     [Category(
"Files List")]     
        [Description(
"The directory of the files to list:  (~/Files/)")]
        ;
// these two built in editors were lacking:
        
//[EditorAttribute(typeof(System.Web.UI.Design.UrlEditor), typeof(UITypeEditor))]
 &nbsp;      
//[EditorAttribute(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(UITypeEditor))]
 &nbsp;      [EditorAttribute(typeof(EndWell.DualModeFolderEditor), typeof(UITypeEditor))]  
   &nbsp;    
public string FilesDirectory { getset; }

   ;     [Bindable(
true)]
  ;      [Category(
"Files List")]
        ;[Description(
"The filter for the files to show:  (*.*)")]
&nbsp;       
public string FilesFilter { getset; }

        [Bindable(
true)]
        [Category(
"Files List")]
      &nbsp;&nbsp;[Description(
"Text to show when there are&nbsp;no files")]
     &nbsp;  
public string NoFilesText { getset; }

    &nbsp;   
// ---- Private vars --------------------------

       &nbsp;
private String[] m_FilesArray;  // cached for performance

        
// ---- Default constants-------------------

   ;     
const String DEF_FILES_DIR = "~/xml/";
       &nbsp;
const String DEF_FILES_FILT = "*.xml";
     &nbsp;  
const String DEF_FILES_TITLE = "XML Files:";
    ;    
const String DEF_NOFILES_TEXT = "";

        
// ---- Constructor -------------------------- 

      &nbsp; 
public HyperlinkFileList()
        {
        &nbsp;   
// set defaults for&nbsp;our properties
  &nbsp;     &nbsp;   FilesDirectory = DEF_FILES_DIR;
            FilesFilter&nbsp;
= DEF_FILES_FILT;
       &nbsp;    FilesTitle 
= DEF_FILES_TITLE;
             NoFilesText 
= DEF_NOFILES_TEXT;

    &nbsp;       
// Set defaults for panel properties
  &nbsp;         
// I don't like the default width to be full screen
        &nbsp;   
// And a border looks better
            Width&nbsp;= new Unit("300px");
&nbsp;         &nbsp; BorderStyle 
= BorderStyle.Solid;
    &nbsp;  &nbsp;    BorderWidth 
= 1;
           &nbsp;BorderColor 
= Color.Black;

         &nbsp;  
// If height is set, force scroll bars to keep list
   ;         
// from spilling over the panel/div&nbsp;boundaries.
         &nbsp;  if ((Height != null&& (ScrollBars == ScrollBars.None))
            ;    ScrollBars 
= ScrollBars.Auto;
           
  ;         &nbsp;
// Allow multiple controls to be placed horizontally
       &nbsp;    
// (normally each div&nbsp;get's its own line)           
   &nbsp;        Style["display"= "inline-block";

           &nbsp;
// add spacing outside&nbsp;the control
&nbsp;    &nbsp;      Style["margin"= "0.5em";

      &nbsp;    &nbsp;
// add space inside the control          &nbsp;
            Style["padding-left"= "0.5em";
             Style[
"padding-right"= "0.5em";
            &nbsp;Style[
"padding-bottom"= "0.5em";
            
// top space usually comes from the&nbsp;title...
 &nbsp;        &nbsp; if (String.IsNullOrEmpty(FilesTitle) == true)
  &nbsp;             Style[
"padding-top"= "0.5em";
        }

   &nbsp;    
// ---- RenderContents ----------------------------
       &nbsp;
//
&nbsp;       
// Spit out the HTML
 
&nbsp;       
protected override void RenderContents(HtmlTextWriter Output)
        {
            
// output ;the title if one was set
       ;    ; if (String.IsNullOrEmpty(FilesTitle) == false)
            {
            &nbsp;  &nbsp;Output.Write(
"<h3>  ");  // cosmetic spacing
                Output.Write(FilesTitle);
           &nbsp;    Output.Write(
"</h3>");
            }

            GetFilesArray();
  
 &nbsp;          
if (m_FilesArray.Length == 0)
            {
                Output.Write(HttpUtility.HtmlEncode(NoFilesText));              
            }
      ;      
else
            {
      &nbsp;       ;  
foreach (String OneFile in m_FilesArray)
                {
       &nbsp;       &nbsp;    HyperLink Link 
= new HyperLink();
     &nbsp;       ;       Link.NavigateUrl 
= Path.Combine(FilesDirectory, Path.GetFileName(OneFile));
                    Link.Text 
= Path.GetFileNameWithoutExtension(OneFile);                  
                    Link.RenderControl(Output);
                    Output.WriteBreak();
                }
            }
        }

  &nbsp;     
// ---- GetFilesArray -------------------------
        
//
      &nbsp; 
// Fill the m_FilesArray with a list of files
        
// either from disk or&nbsp;the cache

    ;    
private void GetFilesArray()
        {
      &nbsp;     
// see if the file list is in the cache.
            
// use directory and filter as unique key
     ;       m_FilesArray = Page.Cache[FilesDirectory + FilesFilter] as String[];

     &nbsp;      
if (m_FilesArray != null)
        &nbsp;       
return;

     &nbsp; &nbsp;    
// if no&nbsp;files filter set, use the default one.
          &nbsp; if (String.IsNullOrEmpty(FilesFilter))
                FilesFilter 
= DEF_FILES_FILT;

      &nbsp;     
// if no files directory set, use the default one.
&nbsp;   &nbsp;       if (String.IsNullOrEmpty(FilesDirectory))
     &nbsp;          FilesDirectory 
= DEF_FILES_DIR;

   ;     &nbsp;   
// if a virtual path is detected, map to full path
            String FullPath;
  ;          
if (FilesDirectory.StartsWith("~"))
           &nbsp;    FullPath 
= Context.Server.MapPath(FilesDirectory);
       ;     
else
  &nbsp;             FullPath 
= FilesDirectory;

   &nbsp;    ;    
// get the files
      ;      m_FilesArray = Directory.GetFiles(FullPath, FilesFilter, SearchOption.TopDirectoryOnly);
            
   &nbsp; &nbsp;      
// put the list in the cache so we don't have to read the disk again
        ;    
// use a dependency on the directory being read from for auto refreshing
          &nbsp; Page.Cache.Insert(FilesDirectory + FilesFilter,   // unique key
 &nbsp;                  ;          m_FilesArray,                   // list of files to store
                              new CacheDependency(FullPath)); // dependency on directory
           
        }
    }
}

 注意:

控件名字:

   去煩惱一個控件的名稱是非常愚蠢做法,真的是這樣嗎?錯誤的命名一個控件(或里任何變量)就像結婚。由于你將要與它走很長一段時間,在將來改變它可能會非常痛苦。所以首先要用好你的命名。

    我稱這個控件為: HyperlinkFileList.

溢出問題:

    如果控件的高度一旦設置,文件的列表超出了控件的高度。就會使文件“溢出&rdquo;控件的邊界。

    為了解決這個問題,我說下面代碼到控件的構造函數之中:

  if ((Height != null&& (ScrollBars == ScrollBars.None))
      ScrollBars&nbsp;
= ScrollBars.Auto;

CSS 布局:

    因為控件是基本是一個div(panel渲染成一個div),然后,設置"display"屬性為"inline-block",允許多個控件被并排的一起。

    Style["display"= "inline-block";

CSS框模型:

    我不喜歡文本卡在控件的左側,所以我添加一些CSS來填充。我也在控件的周圍使用一些css樣式。使它不會與其它控件貼的很死。

     // add spacing outside the&nbsp;control
    Style["margin"= "0.5em";
    
// add&nbsp;space&nbsp;inside the control 
    Style["padding-left"= "0.5em"

狀態管理:

    在最初的測試的時候, 我發現每次控件都能運行,它都將重新讀取的文件目錄。文件輸入輸出代價是很昂貴的。我想去結合的服務器控件的“State”。但它使用的是View State 類型,兩次發送文件列表到客戶端是效率非常低的 。一次作為HTML列表,一次在ViewState 。

  &nbsp; 所以我想使用 Session State, Application State 和Cache。

    我決定將文件列表放在一個緩存對象之中。使列表能在session之間共享。如果內存在溢出,緩存中的列表將會丟失。

    我將文件的目錄和文件filter連接在一起,作為緩存中索引鍵。這樣允許多個控件同時使用和共享文件列表。

    開始,我添加了使開發人員可以強制重新讀取需要的文件的功能。但是,緩存對象可以使用依賴關系:任何從屬目錄更改會導致緩存過期。最后的代碼是非常的簡單:

代碼
// put the list in the cache so we don't have to read the disk again
// use a dependency on the directory being read from for&nbsp;auto refreshing
Page.Cache.Insert(FilesDirectory + FilesFilter,   // unique key
                  m_FilesArray, &nbsp;                 // list of files to store
          &nbsp;       new CacheDependency(FullPath)); // dependency on directory

    側注:當然,這只是一個代碼行,但做了幾個小時的研究,以決定這是最好的方法去處理狀態的管理的問題。有時需要很長的時間編寫很少的代碼。

Property Editor:

    我將所有的自定義屬性分組到標題 "Files List"下面。他們都在一個地方與Panel的屬性分離開來。

下面是四個控件在一個頁面上的標簽

代碼
    <EW:HyperlinkFileList ID="HyperlinkFileList5"  runat="server" BackColor="#FFFF66"
  &nbsp;  &nbsp;  Height
="200px">
    
    
<EW:HyperlinkFileList ID="HyperlinkFileList6"  runat="server" FilesTitle="The Same XML Files"
      &nbsp; Height
="200px">
    
<br >
    
<EW:HyperlinkFileList ID="HyperlinkFileList7"  runat="server" BackColor="#66FFFF"
         BorderColor
="#FF3300" BorderWidth="3px" FilesDirectory="C:/Peachw/EndSofi/BAK/"
        FilesFilter
="*.Zip" FilesTitle="Whole lotta files!" ForeColor="#3333CC" Width="293px"
        Height
="156px">
    
    
<EW:HyperlinkFileList ID="HyperlinkFileList8"  runat="server" BackColor="#66CCFF"
        Height
="156px" Width="198px" FilesDirectory="~/Images/" FilesFilter="*.jpg" 
  &nbsp;&nbsp;    FilesTitle
="Pretty Pictures">
    

 

下面是他們渲染之后的樣子:

第二部分:自定義服務器控件編輯器

選擇文件目錄:

   我認為粘貼文件的目錄路徑是業余開發人員使用的法子,所以我決定添加一個目錄瀏覽器。&nbsp; 

  開發服務器控件編輯器所用時間比開發實際控件用的時間更長。

   我認為控件的文件的目錄,應在兩個方面可設置:

Absolute Path: C:\PublicData\ImageFiles\

Virtual Path: ~\xmlFiles\

    我試著設計兩個內置瀏覽來設置FilesDirectory屬性。

[EditorAttribute(typeof(System.Web.UI.Design.UrlEditor), typeof(UITypeEditor))]

&nbsp;   我沒有使用UrlEditor,因為它不允許瀏覽外部站點的主目錄。

[EditorAttribute(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(UITypeEditor))]

    我沒有使用FolderNameEditor,因為它沒有提供虛擬路徑的選擇。此外,它迫使用戶選擇一個我不想選擇文件。

要創建自定義服務器控件編輯器,就要創建一個類自UITypeEditor繼承和覆蓋兩個功能...其中一個啟動一個DialogBox。

下面是代碼:

代碼
using System;
using System.Collections.Generic;
using System.Drawing.Design;
using System.ComponentModel;
using System.Windows.Forms.Design;
using System.Text;

namespace EndWell
{
    
class DualModeFolderEditor : UITypeEditor
    {
         
// ---- GetEditStyle --------------------------------
        
//
     &nbsp;  
// tell designer what kind ;of UI we are (Dropdown or&nbsp;Modal DialogBox)

  &nbsp;     
public override UITypeEditorEditStyle 
           GetEditStyle(ITypeDescriptorContext context)
        {
             
return UITypeEditorEditStyle.Modal;
        }

    &nbsp;   
// ---- EditValue ----------------------------------------
        
//
      &nbsp; 
// Called by IDE designer when user clicks the ... button
   &nbsp;    
// A DialogBox is launched

        
public override object EditValue(ITypeDescriptorContext Context,
                                         IServiceProvider Provider,
              &nbsp;                 &nbsp;        
object Value)
        {           
 &nbsp;          IWindowsFormsEditorService EditorService 
= null;
        ; ;   
if (Provider != null)
            {
        ;        EditorService 
= (IWindowsFormsEditorService)
                   Provider.GetService(
typeof(IWindowsFormsEditorService));
            }
     ;    &nbsp;  
if (EditorService != null)
            {
       &nbsp; ;       
// launch the dialog box
   &nbsp;            DuaModeFolderEditorForm Editor = 
         &nbsp;         
new DuaModeFolderEditorForm(Value.ToString(), Context);
                
                EditorService.ShowDialog(Editor);
         &nbsp;   &nbsp;  
return Editor.m_Value;
            }
    &nbsp;   &nbsp;   
else
            {
                 
return Value;
            }
        }
    }
}

     以下是編輯的DialogBox,如下所示:

 

    我將不會顯示DialogBox代碼,因為這是它比較長,涉及廣。由于缺乏文檔,在開發過程中進行了反復的試錯。但也有一些利益的東西...

目錄分隔符(斜線):

    反斜杠像 "\~"這樣被使用的時候,GetProjectItemFromUrl 函數將不能正常使用。它正斜杠:"/~"能正常工作。因此,我確保所有的目錄分隔符使用正斜杠。但是,從目錄瀏覽器返回的目錄使用的是反斜杠。所以我們要確保一致性...雖然它使代碼有點凌亂,但真的沒有我更喜歡其他選擇。

服務器控件開發提示:

    一旦控件放置到頁面上,你能自動的更新bin文件路徑下面的DLL,通過右擊右擊控件,選擇“Refresh”。我不得不刪除從bin目錄下的控件,然后重新添加到網頁上,以獲取最新版本到該項目中。

調試編輯器:

    調試控件是非常容易的。調試控件的編輯器卻非常的難。因為它運行在Visual Studio中。我在不同的地方添加下面代碼:

System.Diagnostics.Debugger.Break();

當運行到斷點,你得到下面這個令人爽快的畫面:

點擊 "Debug the program",將創建一個新的 Visual Studio 實例。你就能夠調試控件的編輯器了。原來的運行Visual Studio將鎖定的(至少在我這里是這樣的),你不得不去終止。由于欠缺自定義服務器控件編輯器的文檔,這是非常寶貴的去尋找和了解什么被傳遞了,發生了什么。

可能的改進:

?標題字體可設置(大小,顏色,背景顏色...)

?將名稱放在一個固定的div中,文件列表在另一可調整大小或有scrollable的div中。

?添加一個布爾字段來選擇顯示在鏈接的文件擴展名。

希望這篇文章能夠幫助你。

歡迎討論,謝謝!

參考原文:


標簽:

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

文章轉載自:博客園

為你推薦

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


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
利記足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 真人boyu·博魚滾球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 最大網上PM娛樂城盤口(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規雷火競技官方買球(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 雷火競技權威十大網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) boyu·博魚信譽足球官網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 權威188BET足球網(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) 正規188BET足球大全(官方)網站/網頁版登錄入口/手機版登錄入口-最新版(已更新) av在线网站无码不卡的 | www国产亚洲精品久久久日本 | 97人妻精品全国免费视频 | 国产午夜成年人网站 | 国产成人精品日本亚洲77美色 | 国产成人精品无 | 国产欧美日韩va另类在线播放 | 国产美女精品网站在线看 | 国产av高清和老师偷尝禁果 | 国产9191精品 | 精品国产欧美日韩在卡在线 | av免费无码天堂在线 | 精品国产sm捆绑最大网免费 | 国产91密拍在线高清无删减 | 国产亚洲欧美另类一区二区三 | 2025国产精品国产精华 | 精品国产三级在线观看 | 国产盗摄精品一区二区 | 国产精品视频一区二区亚瑟 | 国产91视频在线观看 | 国产免费伦精品一区二区三区 | 精品久久国产免费影院 | 国产精品日本一区二区不卡视频 | 精品无人区乱码一区2区3区 | 成人无码v在线播放 | 99久久久久国产精品专区无码 | 二区三区电影 | 97人人模人人爽人人少妇 | 18禁裸体动漫美女无遮挡网 | 国产成人免费无遮拦 | 精品午夜福利国产一区二区在线观看 | 国产高清无套内谢免费 | 国产一区二区久久久 | 国产福利区一区二 | 91尤物免费在线观看精品 | 精品国产日韩一区二区三区 | 国产成人av第一页 | 91成人在线一区 | 国产高清无码黄片亚洲大尺度视频 | 岛国av无码免费无禁网站麦芽 | 国产精品一级毛片无码 | 国产色精品vr一区二区 | 国产欧洲日韩一区二区三区在线观看 | a级国产乱午夜理论片在线观看 | 国产99久久久国产精品免费高清 | 99久久精品国产麻豆 | 高潮呻吟久久av无码 | 91午夜在线免费观看小视频 | 91av在线国 | 东京热无码av专区 | 国产二区视频在线播放蜜臀 | 国产成人年无码av片在线观看 | 成人无码视频在线观看网址 | 国产午夜亚洲精品不卡福利 | 国产三级在线观看 | 国产精品无码av在线 | 国产白浆喷 | 国产丝袜一区二区在线播放 | 99国产成人免费视频 | 精品日韩二区三区精品视频 | 91麻豆精品国产片在线观看 | 国产精品成人久久久久久久 | 国产在线无码一区二区三区 | 东京热无码一区 | 国产午夜精品福利一区久久久 | 国产高清一区二区三区四区五区 | 国产盗摄一区二区欧美精品 | av在线中文观看 | 国产91精品福利资源在线观看 | 国产一区二区三区精品一级片 | 国产免费无码av片在线观看不 | 国产成人无码午夜福利软件 | 黄桃av无码免费一区二区三区 | 国产无套内精一级毛片色戒 | 国产精品无码一区二区三区不卡 | 国产成人久久综合二区 | 国产福利视频一区二区三区 | 国产精品岛国 | 91精品电影 | 国产成人精品一区二区日出白浆 | 成人在线播放网站 | 国语自产偷拍精品视频蜜芽 | 国产午夜精品久久精品电影 | 国产毛片网站 | 精品精品国产自在香蕉网 | 国产精品视频一区二区猎奇 | 国产成人免费av一区二区 | 动漫成年美女黄漫网站在线观看 | 国产三级精品专区欧美激情福利 | av成人一区 | 国产三级精品三级在专区 | av国内精品久久久久影院 | 国产自产一二三区 | 国产一区二区18禁止观看 | 91精品无码 | 国产成人免费无遮拦 | 国产二区三区毛片 | 91成人免费在线视须 | 国产专区自拍 | 成人亚洲a片ⅴ一区二区三区动漫 | 国产成精品在线观 | 国产精品美女啪啪视频 | 91精品免费国产高清在线 | 成人免费一级纶理 | 18黑白丝水手服自慰喷水网站 | 国产一区二区三区成人久久片 | 国产免费人成视频在线播放播 | 国产一区二区三区精品专区 | 精品一区二区三区av天堂 | 91人妻无码精品一区二区夜色 | 国产午夜视频在线观看 | 东京无码熟妇人妻av在线网址 | 国产精品日日摸夜夜添夜夜添1 | 国产99久60在线视频 | 黑人午夜性猛交久久久 | 91成人午夜性a一级毛片 | 精品一卡三卡四卡免费网站 | 国产福利一区二区三区在线观 | 国产高清av一级av毛片 | 国产91精品高清 | 国产在线精品一区二区三 | 国产成人午夜精品一区二区三区 | 91福利网| 2025国产麻豆剧果冻传媒影视 | 国产91电影厂精品福利片 | 91亚洲火| 91一区二区午夜免费 | 国产色精品久久人妻无码看片软件 | 果冻传媒国产剧情免费版 | av中文字幕无码无卡 | 国产肥熟女视频一区二区 | 国产精品无码直接看 | 91精品国产一区二区三区香蕉 | 白丝美女视频 | 国产大学生无套内射 | 国产在线高清视频无码不卡互動交流 | 97午夜理论片影院在线播放 | 国产一区二区三区av在线无码观看 | 91九色国产视频 | 经典日韩中文字幕综合网 | 69久久国产露脸精品国产 | 国产成人无码aa精 | 成人在线午夜影院 | 国产91丝袜在线播放00 | 国产午夜三级一区二区三 | 国产成年无码久久久久毛片 | 国产欧美另类久久久精品91 | 精品久久久久久无码中文野结衣 | 国产精品高清一区二区三区久久 | 国产秘一区二区三区 | 国产精品二区高清在线 | 国产精品激情丝袜美女 | 国产精品免费看欧美久久久久 | 国产69精品久久久久无码 | 国产精品一区波多野结衣 | 国产一级毛片内 | 国产高清av| 精品精品国产高清a毛片 | 国产成人www免费人成看片 | 99国产精品国产 | 囯产精品宾馆在线精品酒店 | 国产精品免费视频一区二区三区 | 精品人妻无码一区二区三区蜜桃 | a级毛片影院天天看 | 黑人午夜性猛交久久久 | 国产麻豆成人传媒在线观看 | 国产午夜精品久久久久精 | 国产免费午夜福利在线播放11 | 国产成人一区二区三区影院 | 潮喷大喷水系列 | 国产精品免费αv视频 | 91一区精品免费观看 | 国产专区在线播放 | 国产麻无矿码直接观看 | 国产成人69精品视频竹菊 | 黑人巨大精品欧美一区二区 | 国产精品免费看久久久无码 | 99久久无码 | 国产成人久久精品二区三区小说 | 国产成人综合久久网站 | 国产福利91精品一区二区 | 国产精品成av人在线观看片 | 成人欧美日韩视频一区 | 91国内偷拍久久久 | 国产av无码专区亚洲av男同 | 国产一区二区三四区爱情岛论坛 | 国产剧情黄页在线观看 | 国产精品亚洲一区二区在线 | 成人无码aa精品一区 | 国产美女作爱在线观看 | 国产aⅴ久久免费精品 | 极品粉嫩国产18尤物在线观看 | www国产亚洲精品 | 国产妹子自慰视频下载 | 国产一区视频观看 | 国产成人无码av片在线观看 | 91露脸熟女四川熟女在线观看 | h无码动漫在线观看软件下载 | 国产成人三级视频在 | 国产国产成人高清视频 | 白嫩美女在线啪视频观看 | 国产午夜福利白浆一区二区 | 国产av不卡无码 | 国产一区二区精品久久麻豆 | 国产精品爆乳奶水无码视频免费 | 国产精品无码久久综合 | 国产毛片大全 | 国产人妻人伦精品1国产盗摄 | 成人一区二区免费中文字幕 | 国产综合无码一区二区色蜜蜜 | 91精选国产大片 | 国产美女一区二区在线观看 | 精品国产av色一区二区 | av片在线观看免费 | 国产成人免费av片在线观看 | 动漫av成人无码精品网站 | 国产成人a人亚洲精品无码 国产成人a视频 | 国产另类的人妖ts视频 | a级国产乱理论片在线观看av | 国产黄av在线观看免费福利 | 成人综合高清久久亚洲中文字幕精 | av免费不| 2025国精品产露脸偷拍视频 | 国产精品无码不卡一 | 国产欧美另类久久久精品不卡 | 岛国精品一区免费视频在线观 | 18精品久久久无码午夜福 | 高潮流白浆潮喷在线观看 | 成人av一区二区三区精品 | 国产午夜福利不卡在线观看视频 | 国产成人啪精品视频免费a 国产成人啪精品视频免费软件 | 国产丝袜无码精品一区二区三区 | 精品香蕉久久久午夜福利 | 91人妻无码一区二区三区 | 精品无码免费在线播放 | 风韵少妇性饥渴推油按摩视频 | 二区在线播放 | 91精品视频在线播放 | 国产午夜鲁丝片av无码免费 | 国产激情一区二区三区无码 | av片在线观看网站免费的 | 国产超碰人人做人人爽www | 91大神高清无码在线观看 | 国产成人无码精品一区不卡 | 怀孕动漫精品国产一区二区三区 | 东京热加勒比无码视频 | 国产美女极度色诱视频 | 国产高级桑拿在线播放 | 国产精品一区二区剧情熟女 | 大尺度无遮挡激烈床震网站 | 国产三级精品在线观 | 国产91对白在线观看 | 国产精品人妻无码久久久张津瑜 | 91精品国产91久久 | 国产成人亚洲综合无码精品 | 成人无码一区二区片 | 国内盗摄视频一区二区三区 | 国产二区交换配乱婬 | 国产麻豆メ在线视频 | 国产一区二区三区精品美女 | 91国内揄拍国内精品情侣对白 | 国产区日韩欧美 | 成人毛片一区二区 | 国产av天堂亚洲国产av麻豆 | 国产精品麻豆视频 | 国产午夜精品爆乳美女蜜臂av | 91精品国产色 | 精品国产一区二区久久久蜜臀 | 国产自产在线观看 | 国产精品无码字幕不卡 | 国产精品丝袜自慰在线观看 | 国自产拍在线天天更新2025 | 国产精品黄片亚洲成人毛片 | 99国产一区 | 国产精品v无码a片在线看 | h无码中字动漫在线观看 | h无码精品动漫在线观看导航 | 国产91久久精品一区二区 | 国产三级av电影在线观看 | 高潮毛片无遮挡免费高清 | 国产一区二区三精品久久久无广 | 成人免费无码大片a毛片软件 | 97人人澡人人爽 | 东京热无码中文字幕电影 | a级毛片无码免费真人久久 a级毛片无码兔费真人久久 | 国产盗摄一区二区欧美精品 | 国产自慰在线免费观看 | 成人h动漫精品一区二区无码 | 国产麻豆精品在 | 成人在线免费电影 | 99久re热视频这里 | 国产精品人妻一码二码尿失禁 | 囯产免费久久久久久国产免费 | 国产精品成人久久电影 | 国产一区二区精品久久不卡 | 国产精品va无码 | 国内国产真实露脸对白磁力 | 91精品国产高清91久久久久 | 国产精品视频一区 | 91进入蜜桃臀在线播 | 成人欧美一区二区三区白人 | 国产成人精品久久亚洲高清不卡p | 国产亚洲欧洲人人网在线观看 | 国产一区二区三区视频在线看 | 国产成人精品男人的天堂下载 | 国产成人无码 | 成人一区二区三区视频在线观看 | 精品精品国产高清a毛片 | 国产成人无码a区在线观看视频 | 成人午夜视频精品一区 | 成人三级理论电影在 | 国产成人精品亚洲日本在线 | 91精品专区国产在线观看高清 | 国产高清女同学巨大乳在线 | 国产中文字幕视频在线播放 | 国产成人精品一区二区三区18 | 国产精品日韩无码大秀视频 | 国产在线拍揄自揄网址 | 国产午夜精品免费 | 国产美女精品牲交 | 国产精品成人免费观看 | 精品国产午夜福利在线观看蜜月 | 2025国产精品国产精华 | av人摸人人人 | 国产在线精品成人一区二区三区 | 国产成人av大片大片在线 | 国产精品无码一区二区在线观看 | 东京热人妻中文无码av | 国产成年人免費黄色視頻 | 国产精品黄色大 | 国产探花在线精品一区二 | 国精产品一区二区三区公司 | 国产精品乱码 | 精品福利在线 | 国产av无码专区亚洲a∨毛片 | 国产剧情av麻豆香蕉精品 | 国产+精品+免费 | 国产午夜羞羞小视频在线观 | 国产精品无码a∨一区二区三区 | 国产盗摄视频一区二区 | 97人妻久久人人 | 成人精品综合网站 | 国产日韩精品欧美在线ccc | 精品人妻无码一区二区三区手机版 | 黑色渔网袜自慰喷水 | 国产精品啪啪视频一区二区 | 国产av超爽剧情系列 | 成人精品国产亚洲欧洲 | 国产探花在线精品一区二区 | 国产国语对白在线视频 | 国产成人久久精品一区二区三区 | 国产艳福片内射视频播放 | 国产剧情av网址网站 | 91高清免费国产自产 | 岛国av无码免费无禁网站 | 91福利国产在线观 | 国产成人av乱码在线观看 | av无码专区亚洲avl在线 | 国产高清精品在线 | 国产无码高清在线观看 | 国产欧美另类久久久精品丝瓜 | 国产成人综合亚洲色就色 | 国产精品国语对白露脸在线播 | 国产野花视频精选 | 国产福利不卡一区二区三区 | 国产亚洲日韩欧美在线 | 国产亚洲精久久久久久无码7 | 国产午夜无码在线 | 国产三级在线影音先锋国产精品 | 99久久无码一区人妻a片红豆 | 国产精品欧美亚洲韩国日本久 | 国产精品无码午夜免费影院 | 高清无码国产精 | 18禁美女裸体网站无遮挡 | 99国产精品视频一区二区三区 | www在线观看一区二区三区 | 国产一区二区三区精品一级片 | 成年女人毛片视频喷潮 | 99精品久久毛片a片潘金莲 | 国产色噜噜视频在线 | 国产欧美精品久久一区 | 国产日韩久久免费影院 | 91精品国产乱码久久蜜臀 | 91国自产精品 | 99久久精品国产波多野结衣 | 国产午夜无码片在线观看影院 | 国产日韩亚洲欧洲一区二区三区 | 国产一区二区激情戏 | av黄色| 国产成人精品午夜福利网站 | 成人涩涩视频免费观看 | 91日本在线精品高清观看 | 国产成人免费影片 | 国产高清在线a视频大全首页 | 成人影视免费在线观看 | 国产精品香蕉人多人在线观看 | 国产综合精品中文第一 | 91探花| 国产午夜无码精品 | 国产无套乱子伦精彩是白视频 | 成人午夜无码影院视频在线观看 | 国产高清a毛片在线看 | 国产中文字幕乱码免在线观看 | 91麻豆精品欧美视频 | 91亚洲午夜精品久久久久久一区 | 99久久精品无码专区 | 国产熟女一区二区五月婷 | 91丝袜在线观看亚洲 | 国产中文字幕91在线 | 国产成人av三级 | 高潮国产白浆抽搐福利日本 | 国产尤物一区在线不卡 | 国产a久久精品一区二区三区 | 国产成人无码不卡精品久久久 | 国产无码视频一区二区三区 | 国产欧美日韩综合一区二区三区 | 国产精品亚洲欧美动漫 | av岛国天堂网 | 国产午夜福利在线观看 | 国产成人亚洲精品另类动态 | 成人亚洲国产欧美另类 | 国产白丝jk制服在线视频 | 国产高清波多野结衣 | 国产成人毛片在线视频 | 精品麻豆剧传媒av国产 | 18禁激情床震无遮挡污污污 | av片无码一区二区不卡电影 | av无码毛| 国产一线精品在线观看 | 国产白嫩在线观看视频 | 18禁成年宅男午夜网 | 国产毛片一区二区 | 国产成人精品电影在线观看18 | 国产美女一区三区在线观看 | 国产一区二区三区精品综合 | 国产在线精品无码不卡手机免 | 18禁美女黄网站色大片免费观看 | 99久久人人爽亚洲 | av无码国产片在线播放波多 | 国产成人午夜福利电影在线观看者 | 精品人妻无码一区二区三区 | 国产一区二区在线视频播放 | 国产在线观看在线直播 | 91精品久久人人妻人人做 | 精品美女网站在线观看av污 | 国产黄三级精品在线观看播放 | 国产一区二区18禁止观看 | 韩国美女视频韩国美女 | 激情视频在线观看国产一区 | 国产aaaaa毛片高清视频 | 精品国产v二区 | 精品国产丝袜高跟鞋子 | 99精品国产丝袜在线拍国语 | 国产成人一区二区三区综合网影院 | 国产成人欧美一区二区三区 | 国产三级精品美女三级 | 国产亚洲日韩欧美十八禁 | 国产三级不卡在线播放 | 精品一区二区三区免费视频 | 97人妻精品全国免费视频 | 国产va无码人在线观看天堂 | 国产一线大片免费观看 | 国产在线高清理伦片a电影 国产在线高清仑片a | 国产免费天天看高清影视线 | 成人国产在线 | 高清精品一区二区三区 | 国产av无码片 | 国产精品一区在线 | 精品国产一区二区三区无码乌克兰 | 国产美女下面流白浆视频 | 99久久综合狠狠综合久久浪潮 | 国产精品秘一区二区三区高潮 | 国产三级精品久久三级国专区 | 国产成人99久久亚洲综合精品 | 18禁裸体动漫美女无遮挡网站 | 高清av一区二区三区在线观看 | 国产aⅴ天堂无码一区二区三区 | 成人免费无码大片a毛片 | 加勒比一本久久国产精品 | a级毛片在线免费观看 | 成人av免费视频在线观看 | 国产精品亚洲片在线观看不 | 国产野外无码理论片 | 国产成人精品无码一区二区 | 国产精品亚洲欧美日韩一区在线 | 国产成人精品日本亚洲999 | 精品无码一区二区三区爱欲九九 | 国产三级精品三级男 | 国产午夜a一级毛片 | 精品人妻自在现线综合视频 | 国产成人高清激情视频在线观看 | 国产后式视频无码在线 | 国产精品成人竹菊影视亚洲一级黄 | 国产做爰片久久毛片片美国 | 国产高清狼人香蕉在线 | 国产在线拍揄自揄视频菠萝 | 福利一区二区视频 | 国产aⅴ精品一区 | 国产综合亚洲欧美日韩一区二 | 国产精品麻豆免费版 | 91精品人成在线观看 | 国产精品中文字幕在线观看 | 91精品国久久久久久无码免费 | 国产一级内谢a级高清毛片古装 | 国产成a人片在线观看网站 国产成a人亚 | 成年在线观看免费网站 | 91成人免费观看在线观看 | 国产精品合集久久久久青苹果 | 国产成人精品三级麻豆 | 国产在线观看91精品2025 | 国产亚洲精久久久久久无码av | 国产丝袜无码一区二区三区视频 | 国产亚洲曝欧美精品手机在线 | 精品三级久久久久久久 | 91久久婷婷国产综合青草 | av天堂 | 国产无码视频一区在线观看 | 高清无码第一区亚洲欧洲国 | 国产精品一区在线观看你懂的 | 国产一区二区三区正品 | 国产精品无码a∨麻豆 | 国产精品视频高清在线播放 | 91福利精品国产自产在线 | 东京热加勒比天然素人无码 | 成人综合亚洲 | 丰满少妇大乳高潮在线 | 国产aa片日韩一级观看 | 囯产精品一品二区三区 | 精品麻豆视频播放 | 国产69精品久久久久久99尤物 | 国产精品日日摸夜夜添夜夜 | 国产精品久久久久久久久久日本 | 国产一区二区在线观看入口 | 高潮白浆潮喷正在播放 | 国偷自产av一区二区三区接 | 国产成人午夜福利在线观看视频 | 国产无码精品久久 | 国产精品制服丝袜欧美 | 高清精品一区二区三区一区 | 91在线播放国产日本欧美 | 国产成人午夜福利在线观看视频 | 国产一区二区二区 | 国产va免费精品观看精品 | 国产精品成aⅴ人片在线观看 | 国产一区在线观看视频 | 国产一区二区三区91在线 | 国产长筒袜在线第一页 | 国产精品岛国 | 成人国内精品久久久久影 | 国产av中文| 国产一区二区三区日本道 | 国产精品合集久久久久青苹果 | 国产一级毛片高清完整版 | 99国精产品一区二区三区a片 | 成人午夜视频在线观看 | 91视频一区二区 | 国产白嫩美女在线观 | 国产精品国语自产拍在线观看 | 国产成人午夜精品麻豆报告 | av无码亚州不卡播放网点 | 国产精品欧美亚洲制服 | av国産精品毛片一区二区在线 | 国产精品一级av在线播放 | 国产精品一区二区三区01 | 精品国产一区二区三区蜜殿 | 国产成人综合一区二区三区 | 东京热无码人妻 | 国精品一区二区三区免费观看 | 国产成人免费ā片在线观看 | 国产午夜精品一区二区不卡 | 国产午夜大地久久 | 国产在线视频欧美一区二区三区 | 精品人妻视频一区二区 | 国产成人无码午夜视频在线播放 | 国产日韩精品欧美一区喷 | 国产成人片无码免费 | 91在线无码视频 | 国产精品偷窥熟女精品 | 91精品三级在线观看播放 | 91丝袜在线 | 国产精品一区二区无久久久 | 国产黄在线视 | 国产激情视频在线浏览 | 91精品无码久久久久久久久 | 99亚洲精品一区二区三区 | 国产日韩欧美女同一区二区 | 国产免费人成在线视频视频 | 国产在线高清视频无码不卡互動交流 | 国产成人深夜福利短视频99 | 国产精品一区二区久久精品不卡 | 精品无码国产一区二区三区51 | 高清无码免费中文字幕 | 国产精品无码一区 | jk制服丝袜自慰网站 | 成人片在线观看地址kk4444 | 国产福利姬精品福利 | 国产精品一一在线观看 | 国产高清无码日韩一区 | 精品一区二区三区免费 | 99久久久无码国产精品9 | 2025国产麻豆剧果冻传媒免 | 国精产品一区二区国精 | 国产av一区二区三区无码野战 | 国产成人+亚洲欧洲+综合 | 国产精品男人的天堂手机版 | av区一区二 | 国产精品亚洲二区在线观看 | 国产精品久久久久久久久久影院 | 精品人妻一区二区三区四区在线 | 寡妇高潮一级毛片免费看 | 精品国产区一区二区三区在线观看 | 国产三级在线播放免费 | 99精品国产高清一区 | 国产按摩推油一区二区三区在线 | 国产精品内射后入合集 | 另类亚洲欧美日本 | 成年性生交大片免费看 | 国产高清精品一区在线 | 精品少妇爆乳无码av无码专区 | 国产精品视频一区二区三区w | 国产一区二区三区精品诱惑网站 | 69堂视频| 国产精品女上位好爽在线短片 | 福利视频一区 | 国产盗摄视频手机在线 | 91在线播放国产日本欧美 | 国产精品一区二区三乱码 | h无码精品动漫在线观看导航 | av中文字幕一区二区三区久久 | 精品亚洲a∨乱码一区二区三区 | 国产精品理 | 国产高级会所按摩技师在线看 | 国产精品乱码一区二区三区 | 精品亚洲一区二区三区在线观看 | 国产av精国产传媒 | 国产麻豆精品在线观看 | 成人午夜影院在线观看 | 国产三级黄片毛片 | 成人欧美激情亚洲日韩蜜臀 | av免费手机看不卡 | 国产人妻综合免费观看影院 | 国产精品成人午夜电影 | 国产精品一二三次视频 | 国产丝袜肉丝视频在线 | 97人妻无码免费专区 | 二区三区妓女原神 | 国产精品白嫩极品久久久久 | 91制片厂制作果冻传 | 99久久精品免费观看区一 | 91国语精品福利自产拍 | 99久久国产主播综合精品 | 国产精品无码一区二区三区在 | 国产三级主播在线观看 | 高清无码视频在线播放 | 国产成人精品电影在线观看18 | 国产成人精品免费青青草原 | 国产成人精品三级在线 | 国产午夜片无码区在线观看 | 国产91尤物在线观看互动交流 | 国产成人最新三级 | 国产精品无码素人福利不卡 | 国产三级黄片毛片 | 国产在线aⅴ精品91 国产在线aaa片一区二区99 | 韩国精品一区二区三区久久 | av三级在线观看免费天堂 | 国产成人精品一区二区三区视频 | 国产日韩一区三区 | 国产毛片毛片精品天天看 | 精品国产一区二区三区成人 | 精品国产精品国自产网站 | 成人区精品一区二区婷婷 | 国产日韩一区二区三区 | 99久久婷婷国产综合精品免费 | 国产成年女人特黄特色毛片免 | 国产av无码片毛片一级流奶水 | 18禁止看爆乳奶头不遮挡网站 | 国产成年女人特黄特色大片免费 | 国产欧美另类精品又又久久 | 精品亚洲aⅴ无码一区二区 精品亚洲aⅴ无码专区毛 | 国产欧美精品在线 | 91福利国产在线观一区二区 | 国产精品美女在线观看 | 国产一区视频 | 99久re热视频这只有精品6 | av一本久道久久波多野结衣 | 国产在线观看免费一级 | 国产精品无码专区在线观看 | 国产在线一区二区三区av | 国产成人精品免费大全 | 国产美女极度色诱 | 国产精品高潮久久久久无码av | 国产成人黄色网站 | 91麻豆国产高清产精品第一页 | 91网站永久免费看nba视频 | 国产国拍亚洲精品午夜不卡嘿嘿 | 高清无码专区av | 成人无码av一区二区三区 | 国产成人综合久久精品 | 国产超碰av人人做人人爽 | 国产一区二区精品九九 | 国产在线精品一区二区不卡 | 国产麻豆精品高清在线播放 | 国产精品部在线观看 | 国产欧美久久影视 | 动漫成年美女黄漫网站在线观看 | 国产三级重口味视频在线观看 | 国产精品一区一区三区 | 91毛片下载网站 | 国产欧美v欧美v在观看 | 国产成人午夜无码电影在线观看 | 国产成人综合久久精品亚洲 | 国产精品无码av在线播放 | 丰满人妻一区二区三区无码av | 3d动漫精品啪啪一区二区中 | 国产制服丝袜一区二区三区 | 精品无码一区二区三区爱欲 | 国产精品麻豆一区二区三区v视界 | 国产精品日韩一区二区三 | 国产成人avxxxxx在线观看 | 国产福利小视频尤物98 | 国产成人精品综合在线 | 99久久久精品免费观看国产 | 国产aⅴ激情无 | 国产高潮白浆无码 | 高潮流白浆免费观看 | 精品国产欧美日韩在卡在线 | 按摩调教在线观看 | 国产高清乱理伦片中文 | 成人国产精品秘久久久剧情紧凑 | 99精品视频在线在线 | 91精品国产福利尤物 | 国产大学生无码理论永久免费 | 国产精品成人国产乱一区 | 国产av一区二区三区最新精品 | 国产成人精品自产拍在线观看 | 91久久丝袜人妻一区二区 | 国产精品偷伦视频插放 | 91精品国产免费久久久久久 | 国产亚洲日韩网暴欧美台湾 | 国产精品无码久久久久久电影 | 99久久精品国产毛片 | 国产一区二区三区av无码 | 国内女子自慰喷潮a片免费观看 | 精品国产午夜福利在 | 国产精品片天天看视频 | 国产日韩久久久精品影院首页 | 国产福利精品在线观看 | 国产成人爱片免费观看视频 | 精品国产精品国自产网站 | 国产免费无遮挡吸乳视频下载 | 精品亚洲a∨乱码一区二区三区 | 国产原创av中文在线观看 | 18禁黄污无遮挡无码网站 | 国产国产成年年人免费看片 | 国产午夜一区二区三区影院 | 91精品在线一区 | 国产日韩av在线 | www国产亚洲精品久久久 | 国产午夜精品免费一区二区 | 99久久综合狠狠综合久久 | 极品萝在线永久视频欧美 | 91制片厂果冻星空传媒科幻 | 91在线综合 | 精品视频在线视频观看 | 高清成人爽a毛片免费 | 91免费视频在线观看一区影视 | 国产va在线观看免费 | 国产三级韩国三级日产三级 | 国产高清一区二区三区视 | 国产亚洲品在 | 白嫩美女在线啪视频观看 | 国产超精品无码不卡av | 精品国产一区二区三区久久 | 国产高清黄色在线 | 国产成人激情一区二区视频 | 国产高潮抽搐翻白眼在线播放 | 国产精品无码一区免费看 | 白丝护士高潮喷水免费网站 | 精品久久久久久无码人妻热 | 国产精品亚洲综合久久 | 国产超碰女人任你爽 | 911精品国产一区二区在线 | 国产欧美日韩综合aⅴ天堂 国产欧美日韩综合第一区第二区 | 精品少妇爆乳无码av无码专区 | 国产精品国产福利在线观看 | 91久久久无码国产精品免费 | 高清中文字幕一区 | 国产欧美日韩灭亚洲精品 | 国产精品v日韩精品v | 国产成人片无码 | 国产激情一区二区三区成人 | 国产va在线播放频 | 国产av国片精品麻豆 | 国产成人无码精品久久久免费 | 国产在线高清一区 | 东京热加勒比无码视频 | 精品人妻av区波多野结衣 | 国产不卡一区二区免费视频 | 福利精品短视频在线 |