韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當前位置:蘿卜系統(tǒng)下載站 > 技術開發(fā)教程 > 詳細頁面

無刷新的聊天室的制作兼談組件制作與ClientSide Script(二)

無刷新的聊天室的制作兼談組件制作與ClientSide Script(二)

更新時間:2022-06-07 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

好了,至此,我們的webservice就完成了,大家可能不滿了,還是沒實現(xiàn)無刷新嘛,別急,這是客戶端的事。下面我們就來做這項工作。
一般來說我們完全可以做一個html頁面,而不用server page,但為了順便說明怎樣做組件,我決定作一個server control,先來看一下代碼
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.ComponentModel;

namespace Michael.Web.UI.Controls
{
/// <summary>
/// Summary description for chat.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:chat runat=server></{0}:chat>")]
public class chat : System.Web.UI.WebControls.Table
{
private string doc;
private string text;
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
return text;
}

set
{
text = value;
}
}

/// <summary>
/// Render this control to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
protected override void Render(HtmlTextWriter output)
{
// The script block is written to the client
output.Write(doc);

base.Render(output);
}

private string Serviceurl = "http://localhost/chat/ChatWebService.asmx?WSDL";
[Bindable(true),
Category("WebServiceProperty"),
DefaultValue("http://localhost/chat/ChatWebService.asmx?WSDL")]
public string ServiceURL
{
get
{
return Serviceurl;
}
set
{
Serviceurl = value;
}
}
private string Behaviorurl = "http://localhost/chat/webservice.htc";
[Bindable(true),
Category("WebServiceProperty"),
DefaultValue("")]
public string BehaviorURL
{
get
{
return Behaviorurl;
}
set
{
Behaviorurl = value;
}
}

private string tablecssclass;
[Bindable(true),
Category("LayoutProperty"),
DefaultValue("")]
public string TableCssClass
{
get
{
return tablecssclass;
}
set
{
tablecssclass = value;
}
}

private string titlecssclass;
[Bindable(true),
Category("LayoutProperty"),
DefaultValue("")]
public string TitleCssClass
{
get
{
return titlecssclass;
}
set
{
titlecssclass = value;
}
}

private string onlinecssclass;
[Bindable(true),
Category("LayoutProperty"),
DefaultValue("")]
public string OnlineCssClass
{
get
{
return onlinecssclass;
}
set
{
onlinecssclass = value;
}
}

private string msgcssclass;
[Bindable(true),
Category("LayoutProperty"),
DefaultValue("")]
public string MSGCssClass
{
get
{
return msgcssclass;
}
set
{
msgcssclass = value;
}
}

private string selusercssclass;
[Bindable(true),
Category("LayoutProperty"),
DefaultValue("")]
public string SelUserCssClass
{
get
{
return selusercssclass;
}
set
{
selusercssclass = value;
}
}
protected override void OnInit(EventArgs e)
{
this.ID = "service";

this.Style["Behavior"] = "url('" + Behaviorurl + "')";

this.Style["Table-Layout"] = "Fixed";

if( this.Attributes["class"] == null) this.Attributes["class"] = tablecssclass;

this.Attributes["onresult"] = UniqueID + "_onmyresult();";

TableRow tr;
// And also create 7 Table Cell elements one by one
TableCell cell = new TableCell();

cell.Attributes["class"] = titlecssclass;
cell.Attributes["Align"] = "Left";

// Set the caption of the control
cell.Text = "Portal 聊天室";
// Instantiate a Table Roa and attach the First Cell to it
tr = new TableRow();
tr.Cells.Add(cell);
// Add the Table Row to our Control
this.Rows.Add(tr);

// Row No 2 starts here

cell = new TableCell();

cell.Attributes["class"] = onlinecssclass;
cell.Text = "在線人員";
tr = new TableRow();
tr.Cells.Add(cell);
this.Rows.Add(tr);

// Row No 3 Starts here

cell = new TableCell();
cell.Style["Height"] = "25%";
// We create a DIV element using HtmlGenericControl object
// We can also do this using the Panel object
HtmlGenericControl d = new HtmlGenericControl("Div");
d.ID = UniqueID + "_ChatMsgs";
d.Style["Height"] = "100%";
d.Style["Width"] = "100%";
d.Style["Overflow"] = "Auto";
d.Style["Padding-Left"] = "15%";
d.ID = UniqueID + "_ChatList";
// Adding the DIV element to the Table Cell
cell.Controls.Add(d);
tr = new TableRow();
tr.Cells.Add(cell);
this.Rows.Add(tr);

// Row No 4 Starts here

cell = new TableCell();

cell.Attributes["class"] = msgcssclass;
cell.Text = "消息:";
tr = new TableRow();
tr.Cells.Add(cell);
this.Rows.Add(tr);

// Row No 5 starts here

cell = new TableCell();
cell.Style["Height"] = "35%";
d = new HtmlGenericControl("Div");
d.ID = UniqueID + "_ChatMsgs";
d.Style["Height"] = "100%";
d.Style["Width"] = "100%";
d.Style["Overflow"] = "Auto";
cell.Controls.Add(d);
tr = new TableRow();
tr.Cells.Add(cell);
this.Rows.Add(tr);

// Row No 6 Starts here

cell = new TableCell();

cell.Attributes["class"] = selusercssclass;
cell.ID = UniqueID + "_Prompt";
cell.Text = "選擇一個用戶:";
tr = new TableRow();
tr.Cells.Add(cell);
this.Rows.Add(tr);

// Row No 7 starts here

cell = new TableCell();
cell.Text = "<INPUT Type=\"Text\" id= '" + UniqueID + "_UserInput'> \r\n";
cell.Text += "<BR>\r\n";
cell.Text += "<Button id = '" + UniqueID + "_bnSendMsg' onclick = \"return SendMsg();\" class = " + UniqueID + "_TitleLabel style = \"display:none\"> 發(fā)送 </Button>\r\n";
cell.Text += "<Button id = '" + UniqueID + "_bnSelectName' onclick = \"return " + UniqueID + "_SelectName();\" class = " + UniqueID + "_TitleLabel style = \"display:block\"> 登陸 </Button> \r\n";
cell.Style["Color"] = "Black";
cell.Style["Background-Color"] = "Gainsboro";
tr = new TableRow();
tr.Cells.Add(cell);
this.Rows.Add(tr);

// First script Block is written into 'doc' variable

doc = "\r\n<SCRIPT FOR = 'window' EVENT = 'onload()'>";
doc += "//alert(\"done\"); \r\n";
doc += "service.use(\"";
doc += Serviceurl + "\",\"ChatWebService\"); \r\n";
doc += "" + UniqueID + "_UserInput.focus();\r\n";
doc += "</SCRIPT> \r\n";
 
// Then the second script block follows
 
doc += "<script language=\"JavaScript\">\r\n";
doc += "var " + UniqueID + "_iCallID1, " + UniqueID + "_iCallID2, " + UniqueID + "_iCallID3; \r\n";
doc += "var " + UniqueID + "_NickName; \r\n";
doc += "var " + UniqueID + "_MsgXML = new ActiveXObject(\"MSXML.DOMDocument\");\r\n";
doc += "function " + UniqueID + "_SelectName() \r\n";
doc += "{ \r\n";
doc += "if (" + UniqueID + "_UserInput.value == \"\") return false;\r\n";
doc += "" + UniqueID + "_NickName = " + UniqueID + "_UserInput.value; \r\n";
doc += "" + UniqueID + "_bnSelectName.disabled = 'true'; \r\n";
doc += "" + UniqueID + "_UserInput.disabled = 'true';\r\n";
doc += "" + UniqueID + "_iCallID1 = service.ChatWebService.call(\"Login\"," + UniqueID + "_NickName); \r\n";
doc += "} \r\n";
doc += "function " + UniqueID + "_onmyresult() \r\n";
doc += "{ \r\n";
doc += "if((event.result.error)&&(" + UniqueID + "_iCallID1==event.result.id)) \r\n";
doc += "{ \r\n";
doc += "var xfaultcode = event.result.errorDetail.code; \r\n";
doc += "var xfaultstring = event.result.errorDetail.string; \r\n";
doc += "var xfaultsoap = event.result.errorDetail.raw;\r\n";
doc += "\r\n";
doc += "// Add code to output error information here\r\n";
doc += "alert(xfaultstring);\r\n";
doc += "" + UniqueID + "_bnSelectName.disabled = false;\r\n";
doc += "" + UniqueID + "_UserInput.disabled = false; \r\n";
doc += "" + UniqueID + "_UserInput.focus();\r\n";
doc += "\r\n";
doc += "} \r\n";
doc += "else if((!event.result.error)&&(" + UniqueID + "_iCallID1==event.result.id)) \r\n";
doc += "{ \r\n";
doc += "" + UniqueID + "_ChatList.innerText= event.result.value; \r\n";
doc += "" + UniqueID + "_ChatList.scrollTop =2000; \r\n";
doc += "" + UniqueID + "_bnSelectName.style.display = 'none';\r\n";
doc += "" + UniqueID + "_bnSendMsg.style.display = 'block';\r\n";
doc += "" + UniqueID + "_UserInput.value = \"\"; \r\n";
doc += "" + UniqueID + "_UserInput.disabled = false; \r\n";
doc += "" + UniqueID + "_UserInput.focus();\r\n";
doc += "" + UniqueID + "_Prompt.innerText = " + UniqueID + "_NickName + \" 說:\"; \r\n";
doc += "window.setTimeout('" + UniqueID + "_iCallID2 = service.ChatWebService.call(\"GetMsgs\"," + UniqueID + "_NickName);',3000); \r\n";
doc += "} \r\n";
doc += "else if((event.result.error)&&(" + UniqueID + "_iCallID2==event.result.id))\r\n";
doc += " {\r\n";
doc += "var xfaultcode = event.result.errorDetail.code; \r\n";
doc += "var xfaultstring = event.result.errorDetail.string; \r\n";
doc += "var xfaultsoap = event.result.errorDetail.raw;\r\n";
doc += "// Add code to output error information here\r\n";
doc += "alert(\"xfaultstring\");\r\n";
doc += " }\r\n";
doc += " else if((!event.result.error)&&(" + UniqueID + "_iCallID2==event.result.id))\r\n";
doc += " {\r\n";
doc += "var xmlResult = event.result.raw.xml; \r\n";
doc += " if (xmlResult != \"\" && xmlResult != null)\r\n";
doc += " {\r\n";
doc += "\r\n";
doc += "" + UniqueID + "_MsgXML.loadXML(xmlResult);\r\n";
doc += " " + UniqueID + "_ChatList.innerText = " + UniqueID + "_MsgXML.selectSingleNode(\"//UserList\").text; \r\n";
doc += "" + UniqueID + "_ChatList.scrollTop =2000; \r\n";
doc += " " + UniqueID + "_ChatMsgs.innerHTML += " + UniqueID + "_MsgXML.selectSingleNode(\"//Messages\").text;\r\n";
doc += "" + UniqueID + "_ChatMsgs.scrollTop =2000; \r\n";
doc += " }\r\n";
doc += " window.setTimeout('" + UniqueID + "_iCallID2 = service.ChatWebService.call(\"GetMsgs\"," + UniqueID + "_NickName);',3000);\r\n";
doc += " }\r\n";
doc += "else if((event.result.error)&&(" + UniqueID + "_iCallID3==event.result.id))\r\n";
doc += " {\r\n";
doc += "var xfaultcode = event.result.errorDetail.code; \r\n";
doc += "var xfaultstring = event.result.errorDetail.string; \r\n";
doc += "var xfaultsoap = event.result.errorDetail.raw;\r\n";
doc += "// Add code to output error information here\r\n";
doc += "alert(\"xfaultstring\");\r\n";
doc += " }\r\n";
doc += " else if((!event.result.error)&&(" + UniqueID + "_iCallID3==event.result.id))\r\n";
doc += " {\r\n";
doc += "var xmlResult = event.result.raw.xml; \r\n";
doc += " if (xmlResult != \"\" && xmlResult != null)\r\n";
doc += " {\r\n";
doc += "\r\n";
doc += "" + UniqueID + "_MsgXML.loadXML(xmlResult);\r\n";
doc += " " + UniqueID + "_ChatList.innerText = " + UniqueID + "_MsgXML.selectSingleNode(\"//UserList\").text; \r\n";
doc += " " + UniqueID + "_ChatMsgs.innerHTML += " + UniqueID + "_MsgXML.selectSingleNode(\"//Messages\").text;\r\n";
doc += " " + UniqueID + "_ChatList.scrollTop =2000; \r\n";
doc += " " + UniqueID + "_bnSendMsg.disabled = false;\r\n";
doc += " " + UniqueID + "_ChatMsgs.scrollTop =2000; \r\n";
doc += " " + UniqueID + "_UserInput.value = \"\";\r\n";
doc += " " + UniqueID + "_UserInput.disabled = false;\r\n";
doc += " " + UniqueID + "_UserInput.focus();\r\n";
doc += " }\r\n";
doc += " window.setTimeout('" + UniqueID + "_iCallID2 = service.ChatWebService.call(\"GetMsgs\"," + UniqueID + "_NickName);',3000);\r\n";
doc += " }\r\n";
doc += "} \r\n";
doc += "function SendMsg()\r\n";
doc += "{ \r\n";
doc += "if (" + UniqueID + "_UserInput.value == \"\") return false;\r\n";
doc += "" + UniqueID + "_bnSendMsg.disabled = 'true';\r\n";
doc += "" + UniqueID + "_UserInput.disabled = 'true';\r\n";
doc += "" + UniqueID + "_iCallID3 = service.ChatWebService.call(\"XchangeMsgs\"," + UniqueID + "_NickName," + UniqueID + "_UserInput.value);\r\n";
doc += "} \r\n";
doc += "</script> \r\n";

}
}
}
這里有幾個問題,
1。我們繼承的是Table,記住table等server端控件本身就繼承了control類,我們做控件不一定要直接繼承control
2。[“。。!盷是metadata他是用來做可視化控件的具體含義看msdn
3。我們這里采用client script的方法,可以看出實現(xiàn)方式與asp中大體一致,即Server端“寫”script
4。Dhtml Behavior的應用,Behavior是MS擴展的css元素

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
青娱乐在线视频免费观看| 国产91白丝在线播放| 国内精品**久久毛片app| 在线视频第一页| 99精品欧美一区二区三区| 淫视频在线观看| 狠狠97人人婷婷五月| 国产精品无码一区二区三区免费| 国产一区二区视频在线免费观看| 黑人巨茎大战欧美白妇| 欧美日韩大片免费观看| 在线观看国产视频| 亚洲97av| 亚洲999一在线观看www| 久久久久久久毛片| 久久青草欧美一区二区三区| 日韩精品免费播放| 亚洲国产一区二区在线观看| 成人激情视频网| 中文字幕在线播放第一页| av网站免费播放| 亚洲精品一区二区三区蜜桃| 六月婷婷激情综合| 久久精品国产一区二区三区免费看| 国产又粗又长又爽视频| 亚洲美女综合网| 国产又粗又硬又长| 伊人久久亚洲美女图片| 91亚洲精品久久久蜜桃借种| 精品国产乱码久久久久久蜜柚| 最新天堂资源在线| 色偷偷中文字幕| 日本在线视频www| 四虎成人精品永久免费av九九| 久久视频免费在线播放| 久久91成人| 亚洲mv大片欧洲mv大片精品| 日批视频免费观看| 国产稀缺真实呦乱在线| 天天干天天插天天射| 亚洲欧美日本一区二区| 免费在线播放av| 免费观看黄色的网站| 亚洲欧美日韩一级| 亚洲免费三区一区二区| 久久精品国产综合| 欧美日韩国产首页在线观看| caoporn免费在线| 这里只有精品视频在线观看| 青青青在线免费观看| t66y永久入口地址| 91国产免费观看| 在线不卡a资源高清| 在线观看视频你懂的| 成人高清在线观看视频| 奇米影视888狠狠狠| 日韩精品视频在线观看一区二区三区| www.天天射| 日本一区二区三区www| av亚洲在线| 精品人妻一区二区三区免费看| 成人禁用看黄a在线| 男人天堂avav| 91精品国产66| 黄色网页在线免费看| 日本黄色免费网站| 日本一区精品视频| 国产在线精品日韩| 777午夜精品福利在线观看| 粉嫩一区二区三区在线观看| 日本aa大片在线播放免费看| 欧美,日韩,国产在线| 国产探花在线看| 日韩视频不卡中文| 一区二区三区产品免费精品久久75| 久久福利免费视频| 亚洲精品永久免费精品| 中文字幕亚洲欧美一区二区三区| 1024在线看片你懂得| 欧美人与物videos另类xxxxx| 免费欧美视频| 午夜精品久久久久久久99热影院| 2021最新国产精品一区| 国产精品免费在线免费| 老牛影视av牛牛影视av| 亚洲一区精品视频| 99re在线播放| 在线一区欧美| 麻豆国产一区二区| 成人资源www网在线最新版| 欧美成人精品欧美一级乱| 国产精品高潮呻吟AV无码| 久久99国产精品久久99小说| 国产黄色片在线| 91色porny蝌蚪| 菠萝蜜视频网址| 欧美床上激情在线观看| 美女少妇精品视频| 欧美人成在线观看网站高清| 午夜性福利视频| 久久免费少妇高潮99精品| 日韩在线视频免费看| japanese在线观看| 成人精品小视频| 久久久久久亚洲精品| 一级黄色a视频| 91理论片午午论夜理片久久| 国产精品久久波多野结衣| 天堂av在线免费观看| 久久尤物视频| 国产91av视频| 日日噜噜夜夜狠狠久久丁香五月| 制服丝袜中文字幕在线观看| 国产精品高精视频免费| 人日人天天爽| 精品国产一区二区三区四区阿崩| 91chinesevideo永久地址| 久久亚洲av午夜福利精品一区| 黄色电影免费在线看| 一区二区三区四区av| 久久99青青| 在线观看精品视频看看播放| 亚洲欧美日韩久久久久久| 舐め犯し波多野结衣在线观看| 国产精品白丝jk黑袜喷水| 精品一区二三区| 亚洲午夜精品久久久久久人妖| 亚洲一区二区三区精品在线观看| 福利在线白白| 久久综合av免费| fc2人成共享视频在线观看| 精品国产av鲁一鲁一区| 国产av无码专区亚洲av毛网站| 视频在线一区| 日韩欧美中文视频| 制服丝袜亚洲网站| 美女视频一区二区三区| 青青草国产一区二区三区| 国产日韩欧美另类| 欧美精品久久99久久在免费线| 精品一区电影国产| 国产精品美女午夜av| 久久99精品久久久久久久久久| 久久先锋资源网| 99在线观看精品视频| 国产一区二区视频在线| 黄色香蕉视频在线观看| 性网站在线播放| 欧美色男人天堂| 熟妇人妻无乱码中文字幕真矢织江| 97国产在线播放| 国产精品电影观看| 国产乱码精品一区二区三区亚洲人| 一日本道久久久精品国产| 国产不卡av一区二区| 国精产品乱码一区一区三区四区| 欧美亚洲福利| 色久综合一二码| 欧美精品日韩一区| 国产精成人品免费观看| 日韩三级在线观看| 久艹在线免费观看| 久久影院朴妮唛| 黄色影院在线观看| 免费的很黄很污的视频网站| 亚洲欧美激情一区二区| 天天操天天操一操| 人人做人人澡人人爽欧美| 色噜噜狠狠色综合网| 在线观看av日韩| 国产人成一区二区三区影院| 五月激情综合网| 日本不卡一区在线| 国产一区二区三区奇米久涩| 成人国产精品久久久| 亚洲女在线观看| 一区二区三区电影大全| 成人写真视频福利网| 欧美xo影院| 综合中文字幕| 欧美精品www在线观看| 第四色日韩影片| 久久久久亚洲av无码麻豆| 中文在线免费| 最大av网站| 亚洲国产欧美另类丝袜| 亚洲午夜精品久久久久久浪潮| 中文字幕av久久爽一区| 亚洲麻豆国产自偷在线| 99久久激情视频| 一级片avav网址| 999在线观看免费大全电视剧| 中文字幕一二三区在线观看| 精品捆绑美女sm三区| 中文字幕在线永久在线视频2020| 在线免费观看av网站| 好吊色欧美一区二区三区视频| 欧美午夜精品久久久久久超碰| 国产情侣一区二区三区| 性欧美1819sex性高清| 国产精品综合一区二区三区| 欧美日韩一卡| 黄网站在线观看永久免费| av片在线观看网站| 樱空桃在线播放| 日韩欧美亚洲成人| 老鸭窝91久久精品色噜噜导演| 色综合久久久888| 欧美一区二区三区四区在线观看地址| 国产福利一区二区在线精品| 青青草97国产精品免费观看| 亚洲免费观看高清完整版在线观| 久久影院资源站| 成人免费av网站| 国产精品一久久香蕉国产线看观看| 高清wwwwxxxx| 日本中文字幕一区二区有限公司| 孩xxxx性bbbb欧美| 欧美家庭影院| 激情欧美国产欧美| 久久亚洲人体| 97超级碰碰碰久久久| 日韩中文字幕二区| 欧美亚洲在线日韩| 日韩色淫视频| 亚洲美女综合网| 两女双腿交缠激烈磨豆腐| 中文字幕亚洲一区二区va在线| 一出一进一爽一粗一大视频| 久久久久女人精品毛片九一| 天天操中文字幕视频| 国产白丝网站精品污在线入口| 国产小视频在线观看免费| 国产91精品青草社区| 久久久精品成人| 亚洲成色在线综合网站2018站| 久久丁香综合五月国产三级网站| 中文字幕国产精品久久| 欧美 日韩 国产在线观看| 国产一级理论片| 欧美久久久久久久久久久久| 日本性视频网站| 日本大片免费看| 欧美日韩中文字幕一区二区三区| 少妇**av毛片在线看| 国产视频一区二区三区在线观看| 五月天婷婷在线观看视频| 午夜婷婷在线观看| 欧美国产精品日韩| 精品88久久久久88久久久| 国产精品九九九| 欧美三级午夜理伦三级中文幕| 久久久成人网| 欧美四级在线| 中文字幕欧美在线观看| 色综合视频网站| 青青青国产在线观看| 综合网日日天干夜夜久久| 日本美女xxx| 久久97久久97精品免视看秋霞| 天堂tv亚洲tv日本tv欧美人tv| 亚洲欧美日本在线| 99re这里只有精品首页| www.成人在线观看| 少妇高潮av久久久久久| 亚洲黄色尤物视频| 一区在线观看| 老太脱裤让老头玩ⅹxxxx| 精品一级毛片| 欧美bbbbb性bbbbb视频| 日本熟妇人妻中出| 国产精品yjizz视频网一二区| 国产精品视频一区二区三区综合| 亚洲精品国产品国语在线app| 黄色网页免费在线观看| 欧美精品久久久久久久久老牛影院| 黄色av网址在线免费观看| 欧美国产一区二区| 91精品国产91久久久久久| 91麻豆产精品久久久久久夏晴子| 一本大道av一区二区在线播放| 91视频网址免费观看| 成人在线免费公开观看视频| 少妇毛片一区二区三区| 免费高清在线观看电视| 波多野结衣中文字幕在线| 视频小说一区二区| 精品嫩模一区二区三区| 欧美被日视频| 亚洲欧美激情另类| 嫩草伊人久久精品少妇av杨幂| 两个人的视频www国产精品| 无码国产精品一区二区免费式直播| 亚洲影视综合| 精品人妻一区二区三区潮喷在线| 精品国产乱码久久久久酒店| 久久国产精品久久久久久久久久| 国家队第一季免费高清在线观看| 国产呦系列欧美呦日韩呦| 2020中文字幕在线播放| 亚洲一区二区三区四区在线播放| 精品国产123区| 国产精品亚洲第一区在线暖暖韩国| 免费在线看黄| 欧美成人精品不卡视频在线观看| 青青草视频在线观看免费| 国产麻豆日韩| 欧美疯狂xxxx大交乱88av| 国产日韩亚洲精品| 国产精品不卡一区二区三区在线观看| 777丰满影院| 91精品啪在线观看麻豆免费| 野外性满足hd| 国产黄视频在线| 亚洲精品tv| 色涩成人影视在线播放| www.1024| 一个色综合网站| 亚洲欧洲美洲一区二区三区| 欧洲黄色一区| 久久久久久久99| 色天使久久综合网天天| 韩国三级在线一区| segui88久久综合| 国产精品久久久久久久久久小说| 欧美日韩国产精品一区二区| 久艹在线观看视频| 新67194成人永久网站|