我将把控件命名为StoreSelector.ascx。第一步是在表单上添加DropDownList控件。
(图2)
现在就该为该控件“布线”了。创建一个Dataset类的对象:
| #code private DataSet data; #end code |
| #code private void BindData() { data = new DataSet(); SqlConnection cnn = new SqlConnection("Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI"); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = new SqlCommand("SELECT stor_id, stor_name,stor_address, city, state, zip FROM stores", cnn); adapter.Fill(data, "stores"); storeList.DataSource = data; storeList.DataMember = "stores"; storeList.DataTextField = "stor_name"; storeList.DataBind(); session.Add("Data", data); } #end code |
| #code private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { BindData(); } } #end code |


| #code public class StoreSelectorCommandEventArgs { private string _stor_id; private string _stor_name; private string _stor_address; private string _city; private string _state; private string _zip; public StoreSelectorCommandEventArgs(string stor_id, string stor_name, string stor_address, string city, string state, string zip) { _stor_id = stor_id; _stor_name = stor_name; _stor_address = stor_address; _city = city; _state = state; _zip = zip; } public string stor_id{ get{ return _stor_id; } } public string stor_name{ get{ return _stor_name; } } public string stor_address{ get{ return _stor_address; } } public string city{ get{ return _city; } } public string state{ get{ return _state; } } public string zip{ get{ return _zip; } } } #end code |
| #code public delegate void StoreSelectorCommandEventHandler(object sender, StoreSelectorCommandEventArgs e); #end code |

http://dev.xuezhishi.net/website/NET/2007-10-17/20790.html