[WebService(Namespace=
http://tempuri org/ )]
[WebServiceBinding(ConformsTo = WsiProfilesBasicProfile _ )]
[SystemWeb Script Services ScriptService]
public class CarsService : SystemWeb Services WebService {
【第六步】在這個服務類中
[WebMethod]
public CascadingDropDownNameValue[] GetModelsByCarId(string knownCategoryValues
string category)
{
這裡的參數knowCategoryValues將包含在CascadingDropDown控件中的Category定義值(以
//根據
: 字符使用 ; 分隔符分離knownCategoryValues
//相應於索引1處的字符串是從dropdownlist中選擇的CarId
string[] _categoryValues = knownCategoryValuesSplit( : ; );
通過分離knowCategoryValues
//轉換string[]中索引1對應元素以便得到CarId
int _carID = ConvertToInt (_categoryValues[ ]);
接下來
//創建CascadingDropDownNameValue的一個列表
以存儲汽車模型數據
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()));
}
注意
下面展示了本文中所用唯一的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