熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ATLAS入門篇之CascadingDropDown控件編程[5]

2013-11-13 11:02:11  來源: .NET編程 

[WebService(Namespace= http://tempuriorg/)]

[WebServiceBinding(ConformsTo = WsiProfilesBasicProfile_)]

[SystemWebScriptServicesScriptService]

public class CarsService : SystemWebServicesWebService {

  【第六步】在這個服務類中我們將編寫一個WebMethod—GetModelsByCarId它將返回一個CascadingDropDownNameValue數組該方法的具體定義形式如下所示

[WebMethod]

public CascadingDropDownNameValue[] GetModelsByCarId(string knownCategoryValues

string category)

{

  這裡的參數knowCategoryValues將包含在CascadingDropDown控件中的Category定義值(以;分隔符隔開)

//根據:字符使用;分隔符分離knownCategoryValues

//相應於索引1處的字符串是從dropdownlist中選擇的CarId

string[] _categoryValues = knownCategoryValuesSplit(: ;);

  通過分離knowCategoryValues我們得到位於string[] _categoryValues中索引處選擇的汽車Id

//轉換string[]中索引1對應元素以便得到CarId

int _carID = ConvertToInt(_categoryValues[]);

  接下來我們還要創建一個類型CascadingDropDownNameValue的泛型列表用於存儲由CarsModelTableAdapters返回的值

//創建CascadingDropDownNameValue的一個列表以存儲汽車模型數據

List_carModels=new List();

  接下來循環遍歷GetModelsByCarId方法返回的DataTable中所有的DataRow並且把它們添加到CascadingDropDownNameValue類型List

//創建一個CarModels TableAdapter的實例

dsCarModelsTableAdaptersCarModelsTableAdapter _carModelAdapter =

new dsCarModelsTableAdaptersCarModelsTableAdapter();

//對於每一個由方法GetModelsByCarId返回的DataTable中的第一個DataRow

//把modelname和modelid數據添加到List

foreach (DataRow _row in _carModelAdapterGetModelsByCarId(_carID))

{

_carModelsAdd(new CascadingDropDownNameValue(_row[ModelName]ToString()

_row[ModelId]ToString()));

}

  注意該CascadingDropDown需要一個CascadingDropDownNameValue[]以便顯示於目標DropDownList中

  下面展示了本文中所用唯一的Web方法的完整定義

// Web方法—根據一個給定的carId取得所有汽車模型信息

//輸入參數—層疊式下拉列表框提供的knownCategoryValues

//輸出參數—CascadingDropDownNameValue數組

[WebMethod]

public CascadingDropDownNameValue[] GetModelsByCarId(string knownCategoryValues

string category)

{

//根據:字符使用;分隔符分離knownCategoryValues

//對於第一個dropdownlist來說該值為undefined: id of the

// dropdownelement

//相應於索引1處的字符串是從dropdownlist中選擇的CarId

string[] _categoryValues = knownCategoryValuesSplit(: ;);



//轉換string[]中索引1對應元素以便得到CarId

int _carID = ConvertToInt(_categoryValues[]);



// 創建一個CascadingDropDownNameValue的List結構以便存儲汽車模型數據

List _carModels =

new List();



//創建一個CarModels TableAdapter的實例

dsCarModelsTableAdaptersCarModelsTableAdapter _carModelAdapter =

new dsCarModelsTableAdaptersCarModelsTableAdapter();



//對於每一個由方法GetModelsByCarId返回的DataTable中的第一個datarow

//把modelname和modelid數據添加到List

foreach (DataRow _row in _carModelAdapterGetModelsByCarId(_carID))

{

_carModelsAdd(new CascadingDropDownNameValue(_row[ModelName]ToString()

_row[ModelId]ToString()));

}

//轉換成數組並返回相應的值

return _carModelsToArray();

}

[]  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15036.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.