天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ajaxControlToolkit中CascadingDropDown的用法說明

利用Table控制位置來實現 剛好最近在學習ajaxControlToolkit中的控件,想到了CascadingDropDown 層疊下拉 是一個級聯聯動的下來擴展 挺好用
先介紹下CascadingDropDown的一些屬性:
TargetControlID 目標控件ID 就是所控制的DropDownList 的ID
Category 類別(下個CascadingDropDown取這個上個傳過來值的一個類名字,下面代碼中會詳細說到)
PromptText 提示信息 再沒有點擊所控制DropDownList控件前顯示的信息
LoadingText 加載數據信息 如果數據比較多,則給用戶一個提示
ServicePath 提供數據方法的WebService的路徑
ServiceMethod Web服務中提供數據的方法
ParentControlID 控制此CascadingDropDown所控制的DropdownList是否可用的上級DropDownList的ID
SelectedValue 默認選中的數據
過程:
加入ScriptManager控件
加入三個DropDownList控件
加入三個CascadingDropDown控件
測試例中添加一個WebService頁面
首先編寫WebService中的取數據方法,一般做法都是頁面有幾個CascadingDropDown控件,就添加一個[WebMethod]方法
當然,可以用一些技巧把這些方法的共同處整合起來(這些技巧需要代碼的積累,小生還談不上積累,還望高手們多多指教)
下面是在一篇示例中的一個WEB服務的頁面中的一個取數據方法注解(有錯的地方請大蝦們多多指教):
其中,類上面添加 [System.Web.Script.Services.ScriptService]是必須的
[WebMethod]
復制代碼 代碼如下:
public AjaxControlToolkit.CascadingDropDownNameValue[] GetOrdersByEmployeeID(string knownCategoryValues, string category)
{

//字符串字典 這個類 么用過 看別人是這么寫的
//也可以這么用:string [] strValues=knownCategoryValues.Split(':',';');
// 然后取值: strValues[0]是 name strValues[1]是value吧

System.Collections.Specialized.StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
int iEmployee;

//其中Employee就是父控件傳入的knownCategoryValues參數中傳過來的一個類別,父控件的Category的值是"Employee"
//knownCategoryValues的值是則是:"EmployeeName:value;" 類型
//如果父控件中[WebMethod]方法中是如下加入的值
// list.Add(new AjaxControlToolkit.CascadingDropDownNameValue("張三","123"));
//則knownCategoryValues中是 "Employee張三:123;" (如果這里有誤,請大蝦們指導下)
//方法中的category則是Category的值,這里下蝦我迷惑的是,這個值是本控件的Category的值還是父控件的值?
//我認為是調用此方法的category的CascadingDropDown的Category的屬性,原因是父控件的這個屬性是在knownCategoryValues值中判斷出來的

if (!kv.ContainsKey("Employee") || !Int32.TryParse(kv["Employee"], out iEmployee))
{
return null;
}
//下面的取數據方法可以根據項目中的實際情況更改,這里我用的是一個大蝦博客上的一個方法做示例,因為自己寫的需要在sql語句中添加一些判斷,并且數據表表陌生,
string stringConnection = "Server=.;DataBase=Northwind;uid=sa;pwd=sl";
System.Data.SqlClient.SqlConnection conn= new System.Data.SqlClient.SqlConnection(stringConnection);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("SELECT OrderID FROM Orders WHERE EmployeeID = " + iEmployee);
cmd.Connection = conn;
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataSet ds = new System.Data.DataSet();
da.Fill(ds);
cmd.Connection.Close();
//
System.Collections.Generic.List<AjaxControlToolkit.CascadingDropDownNameValue> list = new System.Collections.Generic.List<CascadingDropDownNameValue>();

//下拉列表中的值
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
{
string sOrder=dr["OrderID"].ToString();
int iOrder=(int)dr["OrderID"];
//CascadingDropDownNameValue("Name","Value") name是在DropDownList中顯示的text value是DropDownList的 value
// DropDownList中的selectedValue則傳給下個控制dropdownList的CascadingDropDown調用的webService方法中的knownCategoryValues的值

list.Add(new AjaxControlToolkit.CascadingDropDownNameValue(sOrder,iOrder.ToString()));
}
return list.ToArray();
}

下面是頁面中的設置代碼:
頁面中ScriptManger控件的必須的
復制代碼 代碼如下:
<ASP:DropDownList ID="DropDownList1" runat="server">
</ASP:DropDownList>
<ASP:DropDownList ID="DropDownList2" runat="server">
</ASP:DropDownList>
<ASP:DropDownList ID="DropDownList3" runat="server">
</ASP:DropDownList><br />
<cc1:CascadingDropDown ID="CascadingDropDown1" runat="server" Category="Employee" Enabled="True" PromptText="Select Employee" ServiceMethod="GetEmployees" TargetControlID="DropDownList1" ServicePath="AutoComplete.asmx">
</cc1:CascadingDropDown>
<cc1:CascadingDropDown ID="CascadingDropDown2" runat="server" ParentControlID="DropDownList1" Category="Order" Enabled="True" PromptText="Select Order" ServiceMethod="GetOrdersByEmployeeID" TargetControlID="DropDownList2" ServicePath="AutoComplete.asmx">
</cc1:CascadingDropDown>
<cc1:CascadingDropDown ID="CascadingDropDown3" runat="server" ParentControlID="DropDownList2" Enabled="True" PromptText="Select Pice" ServiceMethod="GetDetailsByOrder" TargetControlID="DropDownList3" ServicePath="AutoComplete.asmx" Category="Pice">
</cc1:CascadingDropDown>

全部例子這里就不加了,網上很多大蝦都寫過了!

AspNet技術ajaxControlToolkit中CascadingDropDown的用法說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 伊人久久大香线蕉观看 | 色综合欧美色综合七久久 | 少妇精品无码一区二区三区 | 免费国产成人高清在线看软件 | 亚洲精品无码AAAAAA片 | 纲手胸被爆羞羞免费 | 亚洲AV永久无码精品老司机蜜桃 | japonensis护士| 精品国产午夜肉伦伦影院 | 亚洲 自拍 偷拍 另类综合图区 | 午夜福利试看120秒体验区 | 野花香HD免费高清版6高清版 | 内射爽无广熟女亚洲 | 亚洲国产高清在线 | 亚洲精品沙发午睡系列 | 豆奶视频在线高清观看 | 日本综艺大尺度无删减版在线 | 美妇教师双飞后菊 | 中文字幕亚洲欧美在线视频 | 色综合五月激情综合色一区 | 蕾丝边娱乐网 | 韩国演艺圈悲惨在线 | 秋霞电影网午夜鲁丝片 | 污文啊好棒棒啊好了 | 冠希和阿娇13分钟在线视频 | 2017年伦理片免费观看 | XXOO麻豆国产在线九九爱 | 久久精品成人免费网站 | 欧美亚洲精品午夜福利AV | 97无码欧美熟妇人妻蜜桃天美 | 荡公乱妇HD中文字幕 | 天美麻豆成人AV精品视频 | 国产不卡视频在线观看 | 67194线在线精品观看 | 久久九九青青国产精品 | 99视频精品全部 国产 | 国产精品JK白丝AV网站 | 俄罗斯17vidio | 亚洲精品一区三区三区在线观看 | 男生J桶进女人P又色又爽又黄 | 91热久久免费频精品动漫99 |