Ich habe ein Dropdown-Listen-Steuerelement auf meiner Webseite. Ich habe die Datentabelle wie folgt an das Dropdownlisten-Steuerelement gebunden:
lstDepartment.DataTextField = "DepartmentName";
lstDepartment.DataValueField = "DepartmentID";
lstDepartment.DataSource = dtDept;
lstDepartment.DataBind();
im Seitenladeereignis möchte ich den Standardwert für das Dropdown-Listensteuerelement aus meinem anderen Tabellenfeld festlegen.
wie macht man das?
Nach deiner DataBind()
:
lstDepartment.SelectedIndex = 0; //first item
or
lstDepartment.SelectedValue = "Yourvalue"
or
//add error checking, just an example, FindByValue may return null
lstDepartment.Items.FindByValue("Yourvalue").Selected = true;
or
//add error checking, just an example, FindByText may return null
lstDepartment.Items.FindByText("Yourvalue").Selected = true;
wenn Sie den Index des Standardwerts kennen, einfach
lstDepartment.SelectedIndex = 1;//the second item
oder wenn Sie den Wert kennen, den Sie einstellen möchten, einfach
lstDepartment.SelectedValue = "the value you want to set";
lstDepartment.DataTextField = "DepartmentName";
lstDepartment.DataValueField = "DepartmentID";
lstDepartment.DataSource = dtDept;
lstDepartment.DataBind();
'Set the initial value:
lstDepartment.SelectedValue = depID;
lstDepartment.Attributes.Remove("InitialValue");
lstDepartment.Attributes.Add("InitialValue", depID);
Und in Ihrer Abbruchmethode:
lstDepartment.SelectedValue = lstDepartment.Attributes("InitialValue");
Und in deiner Update-Methode:
lstDepartment.Attributes("InitialValue") = lstDepartment.SelectedValue;
Angenommen, das DropDownList-Steuerelement in der anderen Tabelle enthält auch DepartmentName und DepartmentID:
lstDepartment.ClearSelection();
foreach (var item in lstDepartment.Items)
{
if (item.Value == otherDropDownList.SelectedValue)
{
item.Selected = true;
}
}