成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 在ASP.NET 2.0中操作數(shù)據(jù)之五十:為GridView控件添加Checkbox

在ASP.NET 2.0中操作數(shù)據(jù)之五十:為GridView控件添加Checkbox

熱門標簽:網(wǎng)絡(luò)電話外呼系統(tǒng)上海 400電話辦理怎么樣 西寧呼叫中心外呼系統(tǒng)線路商 百應(yīng)電話機器人外呼系統(tǒng) 外呼電話機器人成本 地圖標注軟件免費下載 臨沂智能電話機器人加盟 聯(lián)通官網(wǎng)400電話辦理 蘇州如何辦理400電話

導(dǎo)言:

  在前面的教程里我們探討了如何為GridView控件添加radio buttons列。當(dāng)用戶最多只能選擇一項數(shù)據(jù)時,我們可以在用戶界面里添加radio buttons列,而有時候,我們需要選擇任意多項數(shù)據(jù)。比如,基于Web的郵箱客戶端列出了一系列的郵件,及一列checkboxes,用戶可選擇任意封郵件并執(zhí)行相同的操作,比如移動到另一個文件夾或?qū)⒅畡h除。

  在本教程,我們將探討如何添加checkboxes列,以及發(fā)生頁面回傳后如何確定到底選擇了哪些checkboxes。特別的,我們將練習(xí)一個類似于基于web的郵箱客戶端用戶界面。實例將包含一個啟用了分頁功能的GridView,用于列出表Products中的產(chǎn)品,每行記錄包含一個checkbox(見圖1)。當(dāng)點擊“Delete Selected Products”按鈕時,刪除選中的產(chǎn)品。


圖1:每個Product Row包含一個Checkbox

第1步:添加一個啟用分頁的GridView控件展示產(chǎn)品信息

  在考慮添加checkboxes列前,我們先創(chuàng)建一個展示產(chǎn)品的GridView控件并啟用分頁。在文件夾EnhancedGridView里打開CheckBoxField.aspx頁面并進入設(shè)計模式,從工具箱拖一個GridView到頁面,設(shè)其ID為Products。下一步,將其綁定到一個名為ProductsDataSource的ObjectDataSource控件。該ObjectDataSource控件使用ProductsBLL類,調(diào)用GetProducts()方法返回數(shù)據(jù)。因為本例的GridView控件是只讀的,在UPDATE, INSERT和DELETE選項卡的下拉列表里選“(None)”。


圖2:創(chuàng)建一個名為ProductsDataSource的ObjectDataSource控件


圖3:設(shè)置該ObjectDataSource控件調(diào)用GetProducts()方法獲取數(shù)據(jù)


圖4:在UPDATE, INSERT和DELETE選項卡的下拉列表里選“(None)”。

  完成設(shè)置后,Visual Studio會自動為相關(guān)數(shù)據(jù)域(data fields)創(chuàng)建BoundColumns及一個CheckBoxColumn。就像我們在前面的教程做的那樣,將除了 ProductName, CategoryName和UnitPrice外的其它BoundFields刪除,并將相關(guān)HeaderText屬性設(shè)置為“Product”, “Category”和“Price”。將UnitPrice BoundField格式化為貨幣形式。在智能標簽里選擇“Enable Paging”啟用GridView的分頁功能。

  為了在用戶界面里可以刪除選中的產(chǎn)品,在GridView下面添加一個Button Web控件,設(shè)其ID為DeleteSelectedProducts,Text屬性為“Delete Selected Products”。在本例中我們不會直接從數(shù)據(jù)庫刪除數(shù)據(jù),而是顯示一條消息,說明要刪除的是什么產(chǎn)品。因此,在按鈕下面添加一個Label Web控件,設(shè)其ID為DeleteResults,清空其Text屬性, 將Visible和EnableViewState屬性都設(shè)為false。

做完上述修改后,GridView, ObjectDataSource, Button和Label的聲明代碼應(yīng)和下面的差不多:

p>
 asp:GridView ID="Products" runat="server" AutoGenerateColumns="False"
  DataKeyNames="ProductID" DataSourceID="ProductsDataSource"
  AllowPaging="True" EnableViewState="False">
  Columns>
   asp:BoundField DataField="ProductName" HeaderText="Product"
    SortExpression="ProductName" />
   asp:BoundField DataField="CategoryName" HeaderText="Category"
    ReadOnly="True" SortExpression="CategoryName" />
   asp:BoundField DataField="UnitPrice" DataFormatString="{0:c}"
    HeaderText="Price" HtmlEncode="False"
    SortExpression="UnitPrice" />
  /Columns>
 /asp:GridView>

 asp:ObjectDataSource ID="ProductsDataSource" runat="server"
  OldValuesParameterFormatString="original_{0}"
  SelectMethod="GetProducts" TypeName="ProductsBLL">   
 /asp:ObjectDataSource>
/p>
p>
 asp:Button ID="DeleteSelectedProducts" runat="server"
  Text="Delete Selected Products" />
/p>
p>
 asp:Label ID="DeleteResults" runat="server" EnableViewState="False"
  Visible="False">/asp:Label>
/p>

花幾分鐘在瀏覽器里觀看頁面(見圖5),你可以看到前10個產(chǎn)品的name, category以及price。


圖5:顯示前10個產(chǎn)品的name, category以及price

 第2步:添加一個Checkboxes列

  由于ASP.NET 2.0 包含一個CheckBoxField,我們也許自然會想到用它來為GridView控件添加一個Checkboxes列。然而,并不是那樣回事。因為CheckBoxField是專門設(shè)計來與布爾數(shù)據(jù)域(Boolean data field)打交道。
也就是說,當(dāng)數(shù)據(jù)域的值可以用來判斷是否選中了checkbox時,CheckBoxField才派地上用場。CheckBoxField不能正確的包含一列未選中的checkboxes。

  作為替換,我們必須添加一個模板,并在其ItemTemplate模式里添加一個CheckBox Web控件。我們要在GridView控件Products里添加一個模板,并放在最左邊。在GridView的智能標簽里點“編輯模板”,在ItemTemplate模式里添加一個CheckBox Web控件,設(shè)其ID為ProductSelector。


圖6:在模板的ItemTemplate模式里添加一個名為ProductSelector的CheckBox Web控件

添加模板和CheckBox Web控件后,每一行記錄將包含一個CheckBox按鈕,如圖7所示:


圖7:每個產(chǎn)品行包含一個CheckBox按鈕

第3步:頁面回傳后確定點擊了哪些Checkboxes按鈕

  現(xiàn)在我們已經(jīng)創(chuàng)建了一個checkboxes列,但在頁面發(fā)生回傳后還不能確定點擊了哪些Checkboxes按鈕,但當(dāng)點擊“Delete Selected Products”按鈕時,我們需要確定要刪除的是哪些產(chǎn)品,也即點擊了哪些Checkboxes按鈕。

  我們可以運用GridView的Rows屬性訪問其數(shù)據(jù)行(data rows),編程訪問該記錄行的CheckBox控件,根據(jù)其Checked屬性來判斷是否選中了該按鈕。

為名為DeleteSelectedProducts的Button Web控件的Click事件創(chuàng)建一個事件處理器,添加如下代碼:

protected void DeleteSelectedProducts_Click(object sender, EventArgs e)
{
 bool atLeastOneRowDeleted = false;

 // Iterate through the Products.Rows property
 foreach (GridViewRow row in Products.Rows)
 {
  // Access the CheckBox
  CheckBox cb = (CheckBox)row.FindControl("ProductSelector");
  if (cb != null  cb.Checked)
  {
   // Delete row! (Well, not really...)
   atLeastOneRowDeleted = true;

   // First, get the ProductID for the selected row
   int productID =
    Convert.ToInt32(Products.DataKeys[row.RowIndex].Value);

   // "Delete" the row
   DeleteResults.Text += string.Format(
    "This would have deleted ProductID {0}br />", productID);
  }
 }

 // Show the Label if at least one row was deleted...
 DeleteResults.Visible = atLeastOneRowDeleted;
}

  GridView控件的Rows屬性返回構(gòu)成GridView數(shù)據(jù)行的GridViewRow實例集合。而foreach()循環(huán)將遍歷集合中的每一個實例。在一個GridViewRow對象中,我們通過使用row.FindControl("controlID")的形式來訪問該行記錄的CheckBox按鈕。如果選擇了該按鈕,從DataKeys集合里獲取與該行記錄相對應(yīng)的ProductID值。

  在本例,我們僅僅是在Label控件DeleteResults里顯示相關(guān)提示信息,而在實際的應(yīng)用程序中,我們應(yīng)該調(diào)用ProductsBLL類的DeleteProduct(productID)方法。

  添加完上述事件處理器后,點擊“Delete Selected Products”按鈕,將會顯示那些被選中的產(chǎn)品的ProductID值。


圖8:當(dāng)點擊“Delete Selected Products”時,將列出所選產(chǎn)品的ProductID值

第4步:添加“Check All”和“Uncheck All”按鈕

  如果用戶想刪除當(dāng)前頁面上的所有產(chǎn)品,則必須點擊每行的checkbox按鈕,稍
顯麻煩。我們可以添加一個“Check All”按鈕,當(dāng)點擊該按鈕時可以選中頁面上的所有checkbox按鈕。反之,添加一個“Uncheck All”按鈕。

  在頁面上添加2個Button Web控件,放在GridView的上面。設(shè)第一個的ID為CheckAll,Text屬性為“Check All”; 設(shè)第二個的ID為UncheckAll,Text屬性為“Uncheck All”,如下:

asp:Button ID="CheckAll" runat="server" Text="Check All" />
nbsp;
asp:Button ID="UncheckAll" runat="server" Text="Uncheck All" />

  接著,在后臺代碼類(code-behind class)里創(chuàng)建一個名為ToggleCheckState(checkState)的方法。調(diào)用該方法時,其遍歷GridView控件Products的Rows集合,根據(jù)傳入的參數(shù)checkState對每個CheckBox的Checked屬性賦值。

private void ToggleCheckState(bool checkState)
{
 // Iterate through the Products.Rows property
 foreach (GridViewRow row in Products.Rows)
 {
  // Access the CheckBox
  CheckBox cb = (CheckBox)row.FindControl("ProductSelector");
  if (cb != null)
   cb.Checked = checkState;
 }
}

  然后,為button控件CheckAll和UncheckAll創(chuàng)建Click事件處理器,在CheckAll的Click事件處理器中,僅僅簡單的調(diào)用ToggleCheckState(true); 在UncheckAll的事件處理器中,調(diào)用ToggleCheckState(false),如下:

protected void CheckAll_Click(object sender, EventArgs e)
{
 ToggleCheckState(true);
}

protected void UncheckAll_Click(object sender, EventArgs e)
{
 ToggleCheckState(false);
}

  當(dāng)點擊“Check All”按鈕時,引發(fā)頁面回傳,并選中所有的checkbox按鈕;點擊“Uncheck All”時,棄選所有的checkbox按鈕。圖9為點擊“Check All”按鈕后的界面。


圖9:點“Check All”按鈕選擇所有的Checkbox

  注意:如果要全選或棄選checkbox按鈕的話,我們也可以通過點擊標題行(header row)的checkbox來實現(xiàn),并且在頁面發(fā)生回轉(zhuǎn)后才能生效。完全使用客戶端腳本(client-side script)來執(zhí)行全選或棄選checkbox按鈕,那將是一種更爽的用戶體驗。

總結(jié):

  當(dāng)用戶需要在GridView里任意的選擇記錄時,我們可以添加一列checkbox按按鈕。正如本章探究的那樣,在GridView里添加一個模板,再在模板里添加一個CheckBox Web控件。如果使用Web控件(對比上一章,我們直接在模板里注入代碼),在頁面發(fā)生回轉(zhuǎn)后,ASP.NET自動的記得選中了或沒選中哪些CheckBox控件。我們也可以編程訪問這些CheckBox,判斷是否選中了某個CheckBox,或改變其checked狀態(tài)。

  祝編程快樂!

作者簡介

  本系列教程作者 Scott Mitchell,著有六本ASP/ASP.NET方面的書,是4GuysFromRolla.com的創(chuàng)始人,自1998年以來一直應(yīng)用 微軟Web技術(shù)。大家可以點擊查看全部教程《[翻譯]Scott Mitchell 的ASP.NET 2.0數(shù)據(jù)教程》,希望對大家的學(xué)習(xí)ASP.NET有所幫助。

您可能感興趣的文章:
  • asp.net 上傳下載輸出二進制流實現(xiàn)代碼
  • asp.net 字符串、二進制、編碼數(shù)組轉(zhuǎn)換函數(shù)
  • asp.net(c#)實現(xiàn)從sqlserver存取二進制圖片的代碼
  • asp.net 將一個圖片以二進制值的形式存入Xml文件中的實例代碼
  • ASP.NET實現(xiàn)圖片以二進制的形式存入數(shù)據(jù)庫
  • asp.net實現(xiàn)圖片以二進制流輸出的兩種方法
  • 在ASP.NET 2.0中操作數(shù)據(jù)之四十九:為GridView控件添加RadioButton
  • 在ASP.NET 2.0中操作數(shù)據(jù)之五十一:從GridView的頁腳插入新記錄
  • 在ASP.NET 2.0中操作數(shù)據(jù)之五十二:使用FileUpload上傳文件
  • 在ASP.NET 2.0中操作數(shù)據(jù)之五十三:在Data Web控件顯示二進制數(shù)據(jù)

標簽:臨夏 清遠 海西 甘肅 慶陽 中衛(wèi) 聊城

巨人網(wǎng)絡(luò)通訊聲明:本文標題《在ASP.NET 2.0中操作數(shù)據(jù)之五十:為GridView控件添加Checkbox》,本文關(guān)鍵詞  在,ASP.NET,2.0,中,操作,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在ASP.NET 2.0中操作數(shù)據(jù)之五十:為GridView控件添加Checkbox》相關(guān)的同類信息!
  • 本頁收集關(guān)于在ASP.NET 2.0中操作數(shù)據(jù)之五十:為GridView控件添加Checkbox的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    美女88av| 蜜桃传媒视频第一区入口在线看| 成人av在线影院| 色播视频在线播放| 在线观看黄网站| 伊人成综合网yiren22| 精品久久久99| 粉嫩av一区二区三区四区五区| jizzjizz亚洲中国少妇| 黄色片在线观看网站| 欧美大片免费观看在线观看网站推荐| 国产日韩欧美大片| 国产又粗又猛又爽视频| 亚洲成人精品视频| 黄色工厂在线观看| 妺妺窝人体色www看人体| 婷婷在线视频观看| 亚洲xxxx视频| 嫩草影院永久一二三入口| 欧美日韩在线一| 久久久久综合一区二区三区| 一本久久a久久免费精品不卡| 精品一区二区三区在线观看国产| 色综合久久久久综合一本到桃花网| 草裙成人精品一区二区三区| 精品福利在线看| 国产视频一区二区在线观看| 久久精品无码av| 国产剧情在线一区| 扒开伸进免费视频| 国产精品12345| 亚洲精品无遮挡| 亚洲一区二区在线视频观看| 国产麻豆一区| 伪装者在线观看完整版免费| 伊人色在线观看| 97伦伦午夜电影理伦片| 天堂av在线电影| 国产日本亚洲高清| 午夜精品久久久久久久男人的天堂| 国产精品午夜一区二区三区| 午夜精品福利一区二区三区蜜桃| 91成人一区二区三区| 国产美女av一区二区三区| 中文在线最新版天堂8| 黄色手机在线视频| 十大免费污污软件| 日本色综合中文字幕| av二区在线| 91精品国产aⅴ一区二区| 影音先锋黄色网址| 欧美国产日韩在线| 国产无遮挡在线视频免费观看| 精品日韩一区二区| 欧美精选午夜久久久乱码6080| 中文字幕电影av| 日本福利午夜视频在线| 久草中文视频| 五月婷婷在线视频| 三级电影在线看| 欧美午夜激情小视频| 3d蒂法精品啪啪一区二区免费| 在线观看免费黄色| 欧美一区二区三区白人| 综合久久中文字幕| 国产欧美日韩在线观看视频| 在线亚洲高清视频| 国产成人一区二区三区小说| 日韩欧美自拍偷拍| 毛片av一区二区| 欧美精品videosbestsex另类| 精品熟女一区二区三区| 蜜桃传媒在线| 综合在线观看色| 韩国视频一区二区| 午夜a一级毛片亚洲欧洲| 奇门遁甲1982国语版免费观看高清| 久久精品国产77777蜜臀| 天天色天天色| 8mav模特福利视频在线观看| 日本在线播放一二三区| 视频直播国产精品| 亚洲一区二区美女| 中文在线字幕免费观看| 亚洲人成网站在线播放2019| 中文子幕无线码一区tr| 欧美大电影免费观看| 精品一区二区观看| 毛片毛片毛片毛| 久久婷婷国产91天堂综合精品| 在线黄色网页| 国产毛片毛片毛片毛片毛片| www黄色在线观看视频| 亚洲综合电影一区二区三区| www成人在线观看| 亚洲精品电影| 色偷偷综合社区| 亚州欧美精品suv| 丰满岳乱妇国产精品一区| 一区二区三区国产豹纹内裤在线| 一本色道88久久加勒比精品| 99成人在线观看| www.99色.com| 精品无码一区二区三区| 久久婷婷五月综合色国产香蕉| 亚洲人成人无码网www国产| 国产麻豆电影在线观看| 亚洲老妇色熟女老太| 久久精品aⅴ无码中文字字幕重口| 国产欧美一区二区三区在线看蜜臂| 色哟哟日韩精品| 国产www网站| 色老汉av一区二区三区| 三级全黄视频| 九九热免费在线视频| 国产男女av| 91大神在线观看线路一区| 夜色福利资源站www国产在线视频| 黄网站在线观看| 亚洲aaa视频| 国产图片综合| 中文字幕第36页| 玖草视频在线观看| 亚洲美女色禁图| 中文字幕欧美三区| 国产精品久久久久久久乖乖| 糖心vlog免费在线观看| 国产精品日韩在线观看| 日韩av高清在线看片| 色老头久久综合| 精品人妻一区二区三区浪潮在线| 欧美日本三区| 亚洲一区二区欧美| xxxxx.日韩| 一本一本大道香蕉久在线精品| 国产精品一级久久久| 欧美色综合网站| 国精产品一区一区| 中文字幕一区二区三区5566| 欧美人妖在线| 久久99热这里只有精品| 国产精品一二三产区| 国产亚洲欧美日韩俺去了| 亚洲国产日韩在线一区模特| 粉嫩aⅴ一区二区三区四区| wwwav91com| 亚洲国产综合自拍| 精品成人av一区二区三区| 国产日本欧洲亚洲| 国内精品久久久久久不卡影院| 欧美 日韩 国产 一区二区三区| 久久精品一区八戒影视| 欧美国产禁国产网站cc| 激情欧美一区二区三区中文字幕| 天堂va蜜桃一区二区三区| 色偷偷网友自拍| 粉嫩av一区二区三区粉嫩| 91精品久久久久久蜜臀| 欧美日本一区| 青青国产视频| 久久久精品免费网站| 好吊日在线视频| 中文亚洲av片在线观看| 久久99视频| 欧美变态xxxx| 国产在线综合网| 一区二区三区在线免费播放| 免费观看成人鲁鲁鲁鲁鲁视频| 成人激情综合网站| 欧产日产国产69| 99xxxx成人网| 涩涩涩在线视频| 日韩电视剧在线观看免费网站| 国产高清自拍视频在线观看| 中文字幕成人乱码在线电影| 91国偷自产一区二区三区的观看方式| 理论片午夜视频在线观看| 日韩美女在线观看| 欧美性猛交99久久久久99按摩| 亚洲无吗在线| 欧美日韩看看2015永久免费| 欧美日韩免费在线| 成人精品国产| 欧美日本韩国一区二区三区视频| 欧美日韩精品电影| 国产成人免费看一级大黄| 熟妇高潮一区二区三区| 中文字幕精品在线视频| 一区二区三区视频免费视频观看网站| 欧美一区免费视频| 黄片毛片在线看| 国产偷国产偷亚洲高清人白洁| 亚洲成人黄色网| 一本大道久久a久久精品综合| 99re国产在线播放| 疯狂撞击丝袜人妻| 性欧美黑人xxxx| 在线女人免费视频| 久一区二区三区| 色猫av在线| 乱中年女人伦av一区二区| 成人免费视频网站入口::| 亚洲在线观看| 奇米色在线视频| 精品女同一区二区三区| 国产乱码精品一品二品| 国产精欧美一区二区三区白种人| 精品在线小视频| 成人av动漫在线观看| 成人免费毛片嘿嘿连载视频| 国产精品三级av在线播放| 亚洲综合在线小说| 成人网男人的天堂| 欧美亚洲免费电影| 男女羞羞电影免费观看| 黄色三级视频在线播放| 成人啪啪免费看| 一本一本久久a久久精品综合妖精| 国产精品免费区二区三区观看| 91国偷自产一区二区三区的观看方式| 欧美精品中文字幕亚洲专区| 日本视频免费观看| 精品999网站| 在线观看操人| 日韩精品一区第一页| 国产欧美精品| 草美女在线观看| 在线日韩成人| 久久综合九色欧美综合狠狠| 亚洲国产电影| 国产永久免费视频| 久久男女视频| 一区二区国产在线| 国产精品一品二区三区的使用体验| 日韩精品免费一区二区| 久久久久久久久久久久久久免费看| 91av免费观看91av精品在线| 青青草免费在线视频观看| 亚洲最大在线视频| 国内精品第一页| 欧美性视频在线| 一区二区三区鲁丝不卡| 一区二区三区高清在线观看| 欧美日韩一区二区在线观看| 国产揄拍国内精品对白| 亚洲一区二区在线视频| 国产视频一区在线观看| 国产精品国产自产拍高清av水多| 国产无遮挡又黄又爽免费网站| 黄网页免费在线观看| 亚洲av人无码激艳猛片服务器| 亚洲精品日韩在线观看| 国产精品国产三级国产a| 综合激情久久| 久久婷婷综合中文字幕| av网站在线不卡| 欧美精品乱码久久久久久按摩| www.亚洲高清| 亚洲色图美腿丝袜| 日本欧美一区二区三区乱码| 欧美成人黄色| 国产超碰人人爽人人做人人爱| 国产这里只有精品| 高清国产午夜精品久久久久久| 草草久久久无码国产专区| 午夜一区不卡| 亚洲摸下面视频| 中国特级黄色片| 影院在线观看全集免费观看| 亚洲丁香久久久| xxx在线免费观看| 欧美精品日韩少妇| 永久亚洲成a人片777777| 日本精品久久久久久| 忘忧草在线日韩www影院| 99久久99久久免费精品小说| 亚洲一区二区三区四区在线免费观看| 成人亚洲视频在线观看| 日韩美女免费线视频| 午夜精品电影| 欧美一区二区三区视频免费播放| 韩日精品中文字幕| 99精品人妻少妇一区二区| 日本高清视频网站| 青春有你2免费观看完整版在线播放高清| 日韩限制级电影在线观看| 亚洲高清免费在线| 亚洲变态欧美另类捆绑| 日本高清在线观看| 美女日批在线观看| 色婷婷av一区二区三区之一色屋| 国产精品嫩草69影院| 男女羞羞电影免费观看| 在线观看的毛片| 亚洲乱码视频| 99精品热视频只有精品10| 欧美成人乱码一二三四区免费| 国产精品久在线观看| 香蕉视频禁止18| 午夜欧美精品久久久久久久| 精品自拍视频在线观看| 亚洲成人在线免费| 成人h猎奇视频网站| 免费看的www视频网站视频| 亚洲综合色婷婷在线观看| а√在线中文网新版地址在线| 东北少妇不带套对白| 91精品国产高清久久久久久久久| 亚洲**2019国产| 国产区日韩欧美| 日本私人影院在线观看| 欧美一级大片在线视频| 在线观看a网站| 天天噜夜夜操| 亚洲精品国产手机| 好吊色这里只有精品| 日韩理论电影大全| 91精品国产品国语在线不卡| 中文字幕视频在线观看| 久久精品国产亚洲高清剧情介绍| 视频精品一区二区| 亚洲欧美激情四射在线日| 91视频免费版污| 无码精品一区二区三区在线播放| 日韩av大片在线观看| 日韩在线影院| www.av欧美| 国产精品三级网站|