Тут дело в том, что мне в 1 событии надо присвоить уже от созданного элемента по выбору события, значение строковой переменной. Он пишет, что не задана ссылка на объект как быть ?
| Код | static int masDDL = 30; System.Web.UI.WebControls.DropDownList[] DDL= new System.Web.UI.WebControls.DropDownList[masDDL];
public struct DDL1 { public int numberDDL; public int left; public int top; } public DDL1 ddl(int numberDDL, int left, int top,string query, string field, string idfield, ref System.EventHandler eh) { for (int i = 1; i < masDDL; i++) { DDL[i] = new System.Web.UI.WebControls.DropDownList(); } DDL[numberDDL].Style["position"] = "absolute"; DDL[numberDDL].Style["top"] = Convert.ToString(top) + "pt"; DDL[numberDDL].Style["left"] = Convert.ToString(left + 5) + "pt"; DDL[numberDDL].Width = 130; CreateControls.LABLES ccl = new CreateControls.LABLES(); ccl.obnov(DDL[numberDDL]); ccl.spisok(query, "DefaultView", field, idfield, DDL[numberDDL]); DDL[numberDDL].ID = "DDL" + Convert.ToString(numberDDL); DDL[numberDDL].SelectedIndexChanged += new System.EventHandler(eh); P1.Controls.Add(DDL[numberDDL]); DDL1 ddl = new DDL1(); ddl.numberDDL = numberDDL; ddl.top = top; ddl.left = left; return ddl; } protected void Page_Load(object sender, EventArgs e) { if (flag1==1) { System.EventHandler eh1 =new System.EventHandler(DDL_SelectedIndexChanged1); ddl(1, 5, 5, "SELECT * FROM [o].[dbo].[VO] GO", "na", "id_o",ref eh1); System.EventHandler eh2 =new System.EventHandler(DDL_SelectedIndexChanged2); ddl(2, 140, 5, "SELECT * FROM [o].[dbo].[VO] GO", "nb", "id_o",ref eh2); System.EventHandler eh3 =new System.EventHandler(DDL_SelectedIndexChanged3); ddl(3, 280, 5, "SELECT * FROM [o].[dbo].[VO] GO", "nc", "id_o",ref eh3); } } protected void DDL_SelectedIndexChanged1(object sender, EventArgs e) { string value; value = this.DDL[1].SelectedItem.Text; // ошибка тут } protected void DDL_SelectedIndexChanged2(object sender, EventArgs e) { MessageBox.Show("Ошибка2!!!"); } protected void DDL_SelectedIndexChanged3(object sender, EventArgs e) { MessageBox.Show("Ошибка3!!!"); }
|
|