欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ajaxControlToolkit中CascadingDropDown的用法說明

 更新時(shí)間:2008年11月01日 23:54:39   作者:  
今天頭叫寫一個(gè)類似三級(jí)聯(lián)動(dòng)的控件,最好實(shí)現(xiàn)無刷新,是石油軟件中的一個(gè)數(shù)據(jù),需要表現(xiàn)出類似 X1-22 這樣的格式,上下標(biāo)的數(shù)據(jù)是固定的 想了很多辦法來表現(xiàn)這個(gè)數(shù)字,最后決定用3個(gè)DropDownList控件

利用Table控制位置來實(shí)現(xiàn) 剛好最近在學(xué)習(xí)ajaxControlToolkit中的控件,想到了CascadingDropDown 層疊下拉 是一個(gè)級(jí)聯(lián)聯(lián)動(dòng)的下來擴(kuò)展 挺好用
先介紹下CascadingDropDown的一些屬性:
TargetControlID 目標(biāo)控件ID 就是所控制的DropDownList 的ID
Category 類別(下個(gè)CascadingDropDown取這個(gè)上個(gè)傳過來值的一個(gè)類名字,下面代碼中會(huì)詳細(xì)說到)
PromptText 提示信息 再?zèng)]有點(diǎn)擊所控制DropDownList控件前顯示的信息
LoadingText 加載數(shù)據(jù)信息 如果數(shù)據(jù)比較多,則給用戶一個(gè)提示
ServicePath 提供數(shù)據(jù)方法的WebService的路徑
ServiceMethod Web服務(wù)中提供數(shù)據(jù)的方法
ParentControlID 控制此CascadingDropDown所控制的DropdownList是否可用的上級(jí)DropDownList的ID
SelectedValue 默認(rèn)選中的數(shù)據(jù)
過程:
加入ScriptManager控件
加入三個(gè)DropDownList控件
加入三個(gè)CascadingDropDown控件
測(cè)試?yán)刑砑右粋€(gè)WebService頁面
首先編寫WebService中的取數(shù)據(jù)方法,一般做法都是頁面有幾個(gè)CascadingDropDown控件,就添加一個(gè)[WebMethod]方法
當(dāng)然,可以用一些技巧把這些方法的共同處整合起來(這些技巧需要代碼的積累,小生還談不上積累,還望高手們多多指教)
下面是在一篇示例中的一個(gè)WEB服務(wù)的頁面中的一個(gè)取數(shù)據(jù)方法注解(有錯(cuò)的地方請(qǐng)大蝦們多多指教):
其中,類上面添加 [System.Web.Script.Services.ScriptService]是必須的
[WebMethod]

復(fù)制代碼 代碼如下:

public AjaxControlToolkit.CascadingDropDownNameValue[] GetOrdersByEmployeeID(string knownCategoryValues, string category)
{

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

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

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

if (!kv.ContainsKey("Employee") || !Int32.TryParse(kv["Employee"], out iEmployee))
{
return null;
}
//下面的取數(shù)據(jù)方法可以根據(jù)項(xiàng)目中的實(shí)際情況更改,這里我用的是一個(gè)大蝦博客上的一個(gè)方法做示例,因?yàn)樽约簩懙男枰趕ql語句中添加一些判斷,并且數(shù)據(jù)表表陌生,
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則傳給下個(gè)控制dropdownList的CascadingDropDown調(diào)用的webService方法中的knownCategoryValues的值

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

下面是頁面中的設(shè)置代碼:
頁面中ScriptManger控件的必須的
復(fù)制代碼 代碼如下:

<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>

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

相關(guān)文章

  • ASP.NET性能優(yōu)化之減少請(qǐng)求

    ASP.NET性能優(yōu)化之減少請(qǐng)求

    在上篇《ASP.NET性能優(yōu)化之讓瀏覽器緩存動(dòng)態(tài)網(wǎng)頁》中的方案中,瀏覽器發(fā)送If-Modified-Since將是否需要使用自己的緩存交給WEB服務(wù)器去決定,服務(wù)器告知瀏覽器去讀緩存,瀏覽器才會(huì)去讀緩存。
    2011-09-09
  • 在Asp.net中使用JQuery插件之jTip代碼

    在Asp.net中使用JQuery插件之jTip代碼

    jTip 是個(gè)輕量級(jí)的提示插件。
    2010-03-03
  • asp.net 冒泡算法的理解

    asp.net 冒泡算法的理解

    您真的理解冒泡排序嗎?還是背下來了呢?冒泡排序真的只有一種方法嗎?
    2010-05-05
  • ASP.NET Core緩存靜態(tài)資源示例詳解

    ASP.NET Core緩存靜態(tài)資源示例詳解

    我們?cè)趦?yōu)化Web服務(wù)的時(shí)候,對(duì)于靜態(tài)的資源文件,通常都是通過客戶端緩存、服務(wù)器緩存、CDN緩存,這三種方式來緩解客戶端對(duì)于Web服務(wù)器的連接請(qǐng)求壓力的。下面這篇文章主要給大家介紹了關(guān)于ASP.NET Core緩存靜態(tài)資源的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • 理解ASP.NET Core 依賴注入(Dependency Injection)

    理解ASP.NET Core 依賴注入(Dependency Injection)

    把有依賴關(guān)系的類放到容器中,解析出這些類的實(shí)例,就是依賴注入。目的是實(shí)現(xiàn)類的解耦。本文主要介紹了ASP.NET Core 依賴注入(Dependency Injection),需要了解具體內(nèi)容的可以仔細(xì)閱讀這篇文章,希望對(duì)你有所幫助
    2021-09-09
  • ASP.NET Global.asax應(yīng)用程序文件簡(jiǎn)介

    ASP.NET Global.asax應(yīng)用程序文件簡(jiǎn)介

    Global.asax 文件,有時(shí)候叫做 ASP.NET 應(yīng)用程序文件,提供了一種在一個(gè)中心位置響應(yīng)應(yīng)用程序級(jí)或模塊級(jí)事件的方法。
    2009-03-03
  • asp.net 修飾符介紹(關(guān)于public、private、protected、internal)

    asp.net 修飾符介紹(關(guān)于public、private、protected、internal)

    這篇文章主要介紹了asp.net 修飾符介紹、關(guān)于public、private、protected、internal,需要的朋友可以參考下
    2014-08-08
  • 刪除特殊字符和限定用戶輸入長度的示例代碼

    刪除特殊字符和限定用戶輸入長度的示例代碼

    在填寫注冊(cè)表單時(shí)工程師妹都會(huì)考慮到刪除特殊字符和限定用戶輸入長度等等,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下
    2013-10-10
  • ASP.NET MVC中使用JavaScriptResult的用法示例

    ASP.NET MVC中使用JavaScriptResult的用法示例

    這篇文章主要介紹了ASP.NET MVC中使用JavaScriptResult的用法,結(jié)合實(shí)例形式分析了采用javascript動(dòng)態(tài)設(shè)置標(biāo)簽樣式以及使用MVC中的JavaScriptResult來實(shí)現(xiàn)同樣效果的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • asp.net中不能在DropDownList中選擇多個(gè)項(xiàng) 原因分析及解決方法

    asp.net中不能在DropDownList中選擇多個(gè)項(xiàng) 原因分析及解決方法

    不能在 DropDownList 中選擇多個(gè)項(xiàng),在前一步操作的過程中,已經(jīng)選擇了某個(gè)Item
    2012-10-10

最新評(píng)論