国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET Ajax級聯(lián)DropDownList實現(xiàn)代碼

ASP.NET Ajax級聯(lián)DropDownList實現(xiàn)代碼

2019-06-18 10:42腳本之家 ASP.NET教程

我想大家對Ajax已耳熟能詳。自web 2.0概念出現(xiàn)以后,提供更好的用戶體驗變得越來越重要。那么今天我來講解一下如何使用ASP.NET Ajax和web service構建無刷新級聯(lián)DropDownList(以下簡稱為級聯(lián)DDL)。完成的效果圖

ASP.NET Ajax級聯(lián)DropDownList實現(xiàn)代碼


了解級聯(lián)DDL 
那么考慮以下幾種常見情景: 
· 用戶注冊時需要選擇國家、省、市、地區(qū)等。 
· 用戶購買產品時選擇產品類別、產品名稱、產品型號。 
以上的例子有一些共同特點: 
· 上一級(如省)選擇后下一級(如市)才可以選擇。 
· 下一級的內容由上一級的內容決定。 
像這樣的一組DropDownList就是級聯(lián)DDL.常見的解決方法是將帶有層次的數(shù)據(jù)寫入XML,然后設置DropDownList的AutoPostBack屬性為"True"開啟自動回調,最后處理SelectedIndexChanged事件。這樣不僅十分麻煩,過多的頁面刷新會給用戶帶來反感。那么如何實現(xiàn)無刷新的級聯(lián)DropDownList呢? 
開始 
一、 創(chuàng)建XML數(shù)據(jù)文件 
比如,我想做用戶注冊時的省、市的級聯(lián)DDL, 那么首先建立以下XML文件。 

復制代碼代碼如下:


<?xmlversion="1.0"encoding="utf-8"?> 
<CityServiceSource> 
<areaname="中國"> 
<provinceID="1"provinceID="110000"name="北京市"> 
<cityCityID="110100"name="市轄區(qū)"> 
<PieceareaPieceareaID="110101"name="東城區(qū)" /> 
<PieceareaPieceareaID="110102"name="西城區(qū)" /> 
<PieceareaPieceareaID="110103"name="崇文區(qū)" /> 
<PieceareaPieceareaID="110104"name="宣武區(qū)" /> 
<PieceareaPieceareaID="110105"name="朝陽區(qū)" /> 
<PieceareaPieceareaID="110106"name="豐臺區(qū)" /> 
<PieceareaPieceareaID="110107"name="石景山區(qū)" /> 
<PieceareaPieceareaID="110108"name="海淀區(qū)" /> 
<PieceareaPieceareaID="110109"name="門頭溝區(qū)" /> 
<PieceareaPieceareaID="110111"name="房山區(qū)" /> 
<PieceareaPieceareaID="110112"name="通州區(qū)" /> 
<PieceareaPieceareaID="110113"name="順義區(qū)" /> 
<PieceareaPieceareaID="110114"name="昌平區(qū)" /> 
<PieceareaPieceareaID="110115"name="大興區(qū)" /> 
<PieceareaPieceareaID="110116"name="懷柔區(qū)" /> 
<PieceareaPieceareaID="110117"name="平谷區(qū)" /> 
</city> 
<cityCityID="110200"name="縣"> 
<PieceareaPieceareaID="110228"name="密云縣" /> 
<PieceareaPieceareaID="110229"name="延慶縣" /> 
</city> 
</province> 
</area> 
<areaname="英國"> 
</area> 
<areaname="美國"> 
</area> 
<areaname="日本"> 
</area> 
</CityServiceSource> 


二、 創(chuàng)建web service 
創(chuàng)建web service(如CityService.asmx) 

復制代碼代碼如下:


[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptService()] 
publicclassCityService : System.Web.Services.WebService 

privatestaticXmlDocument _document; // 用來讀取XML數(shù)據(jù) 
privatestaticobject _lock = newobject();// 多線程并發(fā)處理 
publicstaticXmlDocument Document 

get 

lock (_lock) 

if (_document == null) 

_document = newXmlDocument(); 
_document.Load(HttpContext.Current.Server.MapPath("~/App_Data/CityServiceSource.xml")); 


return _document; 


publicstaticstring[] Hierarchy 

get 

returnnewstring[] { "area", "province"};// XML數(shù)據(jù)的層次 


[WebMethod] //一會兒控件會自動調用的web method.這個函數(shù)不根據(jù)具體情況改變。 
public AjaxControlToolkit.CascadingDropDownNameValue[] GetDropDownContents(string knownCategoryValues, string category) 

StringDictionary knownCategoryValuesDictionary = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues); 
return AjaxControlToolkit.CascadingDropDown.QuerySimpleCascadingDropDownDocument(Document, Hierarchy, knownCategoryValuesDictionary, category); 


三、創(chuàng)建DLL控件 
如果沒有安裝Ajax Control Toolkit去下載并安裝(http://asp.net)。 
創(chuàng)建三個標準的DropDownList(默認命名為DropDownList1、DropDownList2、DropDownList3). 
然后在Ajax Control Toolkit中拖拽出三個CascadingDropDown控件,注意一個Extender只能對于一個標準控件。 

復制代碼代碼如下:


<ajaxToolkit:CascadingDropDownID="CascadingDropDown1"runat="server" 
ServiceMethod="GetDropDownContents" 
ServicePath="~/webservices/cityservice.asmx"TargetControlID="DropDownList1" 
Category="area"LoadingText="正在讀取..."PromptText="請選擇國家"> 
</ajaxToolkit:CascadingDropDown> 
<ajaxToolkit:CascadingDropDownID="CascadingDropDown2"runat="server" 
ParentControlID="DropDownList1"ServiceMethod="GetDropDownContentsPageMethod" 
TargetControlID="DropDownList2"Category="province"LoadingText="正在讀取..." 
PromptText="請選擇省"> 
</ajaxToolkit:CascadingDropDown> 
<ajaxToolkit:CascadingDropDownID="CascadingDropDown3"runat="server" 
ParentControlID="DropDownList2"ServiceMethod="GetDropDownContents" 
ServicePath="~/webservices/cityservice.asmx"TargetControlID="DropDownList3" 
Category="city"LoadingText="正在讀取..."PromptText="請選擇城市"> 
</ajaxToolkit:CascadingDropDown> 
<asp:UpdatePanelID="UpdatePanel1"runat="server"UpdateMode="Conditional"RenderMode="inline"> 
<Triggers> 
<asp:AsyncPostBackTriggerControlID="DropDownList3"EventName="SelectedIndexChanged"/> 
</Triggers> 
</asp:UpdatePanel>


在”.cs”文件中創(chuàng)建web method. 
[WebMethod] 
[System.Web.Script.Services.ScriptMethod] 
publicstaticCascadingDropDownNameValue[] GetDropDownContentsPageMethod(string knownCategoryValues, string category) 

returnnewCityService().GetDropDownContents(knownCategoryValues, category); 

下面分別對CascadingDropDown的各個屬性進行說明。 
ServiceMethod="GetDropDownContents" 調用的web method 
ServicePath="~/webservices/cityservice.asmx" web service地址 
TargetControlID="DropDownList1" 與其綁定的DropDownList控件的ID 
Category="area" 該級聯(lián)DDL的層次 
LoadingText="正在讀取..." 加載時顯示的文字 
PromptText="請選擇國家"> 未選擇時顯示的文字 
可以說Ajax在UE(User Experience)帶來了革命性的變化。異步的刷新模式大大改進了傳統(tǒng)“一步一刷新”的尷尬局面。由于本人修為尚淺,如有錯誤歡迎批評指證。 
by Kim 
2008/12/11

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲毛片一区二区 | 亚洲一区免费 | 免费看少妇高潮一级毛片特黄 | 日韩中文字幕一区二区三区 | 亚洲喷水 | 亚洲国产精品网站 | 毛片在线免费播放 | 欧美日韩国产在线观看 | 国产精品久久久久久久久久三级 | 一级电影中文字幕 | 亚洲精品久久久久久下一站 | 免费欧美| 国产精品亚洲第一区在线暖暖韩国 | 国产成人精品一区二区在线 | 国产区一区 | 91精品中文字幕一区二区三区 | 亚洲视频精品在线 | 中文字幕视频在线 | 黄视频在线观看免费 | 久久综合中文字幕 | 久久久久九九九九九 | 一区自拍 | 亚洲精品久久久久中文字幕欢迎你 | 日本黄色免费播放 | 亚洲不卡高清视频 | 国产成人综合一区二区三区 | 亚洲a网 | jizz18毛片| 久久久久.com | 欧美日韩中文字幕在线 | 大片免费播放在线观看视频 | 日本久久精品 | 日韩中文在线视频 | 狠狠人人 | 国产精品国产三级国产aⅴ9色 | 日韩精品免费 | 中文字幕一区二区三区日韩精品 | 欧美 日韩 综合 | 九九香蕉视频 | 色婷婷国产精品免费网站 | 日韩av在线中文字幕 |