Это, вероятно, простой вопрос, но я разрабатываю веб-приложение на C # с DropDownList. В настоящее время он работает только для одного DropDownList. Но теперь, когда я изменил код так, чтобы число DropDownLists, которое должно появиться, было динамическим, это дает мне ошибку;
"Имя" ddl "не существует в
текущий контекст. "
Причиной этой ошибки является то, что несколько экземпляров 'ddl' = количество счетчиков. Так как же вместо этого вернуть более одного «ddl»? Например, какой тип возврата должен иметь этот метод? И как мне вернуть эти значения?
Причина, по которой мне нужен динамический режим, заключается в том, что мне нужно создать один DropDownList для каждого столбца в любой выбранной ими таблице Adventureworks.
private DropDownList CreateDropDownLists()
{
for (int counter = 0; counter < NumberOfControls; counter++)
{
DropDownList ddl = new DropDownList();
SqlDataReader dr2 = ADONET_methods.DisplayTableColumns(targettable);
ddl.ID = "DropDownListID" + (counter + 1).ToString();
int NumControls = targettable.Length;
DataTable dt = new DataTable();
dt.Load(dr2);
ddl.DataValueField = "COLUMN_NAME";
ddl.DataTextField = "COLUMN_NAME";
ddl.DataSource = dt;
ddl.ID = "DropDownListID 1";
ddl.SelectedIndexChanged += new EventHandler(ddlList_SelectedIndexChanged);
ddl.DataBind();
ddl.AutoPostBack = true;
ddl.EnableViewState = true; //Preserves View State info on Postbacks
//ddlList.Style["position"] = "absolute";
//ddl.Style["top"] = 80 + "px";
//ddl.Style["left"] = 0 + "px";
dr2.Close();
}
return ddl;
}