Ich versuche, eine allgemeinere Methode zu schreiben, die entweder eine ASP.NET Dropdown-Liste oder eine Telerik RadComboBox mit Status auffüllen wird. Ich möchte das Steuerelement als Parameter an die Methode übergeben. Ich habe eine DataTable, die alle Zustände enthält, die ich durchlaufen habe (siehe unten) - ich möchte dies auf eine Telerik RadComboBox anwenden - also muss ich den ersten Parameter ändern, und auch den Teil, wo ich einen neuen einfüge ListItem - für Telerik RadComboBox ist es neues RadComboBoxItem. Wie kann ich das machen?ASP DDL oder Telerik Steuerelement zurückgeben
public void PopulateStates(DropDownList ddlStates, string country)
{
ddlStates.Items.Clear();
DataLookup dl = new DataLookup();
DataTable dt = dl.GetStatesByCountry(country);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
ddlStates.Items.Insert(0, new ListItem(""));
for (int i = 0; i < dt.Rows.Count; i++)
{
ddlStates.Items.Add(new ListItem(dt.Rows[i]["STCD_Descr"].ToString(),
dt.Rows[i]["STCD_State_CD"].ToString()));
}
}
}
}
Dies scheint wie es funktionieren würde, jedoch wenn ich versuche, etwas wie ddlStates.Items.Clear(); (im Bereich "mit Ihrem Code fortfahren" - es erkennt nicht, dass "Elemente" eine Eigenschaft ist, da es nicht weiß, welche Art von Steuerelement es an diesem Punkt ist - ich bekomme einen Kompilierzeitfehler. –
sorry ddl. Items.Clear(); –
Entschuldigung, Sie haben vollkommen recht! Ich habe geschlafen, während ich das geschrieben habe. Es wird nicht funktionieren, weil die Basisklasse, die sie teilen, keine Eigenschaft Items hat. Die einfachste Lösung, die ich im Moment sehen kann erstellt zwei vordefinierte Methoden, die zuerst radCombo und die andere dropDown akzeptieren. –