hallo,
ich möchte meine 4 radiobuttons durchlaufen lassen um überprüfen welcher aktiviert muss.
das ist der code der alle vier durchlaufen müsste.
foreach (RadioButton rb in _panPanel1.Controls)
{
if (rb.ID == type)
{
rb.Checked = true;
}
}
die RadioButtons sehen so aus
_rdo = new RadioButton();
_rdo.ID = "RB1";
_rdo.GroupName = "Group1";
_rdo.Text = "RadioButton1"
this.Controls.Add(_rdo);
this.Controls.Add(new HtmlBRControl());
das ist die fehlermeldung. es liegt am HtmlBRControl. kann man nicht vier solche radiobuttons unterhalb anordnen und diese dann mit dem obigen code durchlaufen?
((System.SystemException)(ex)) {"Unable to cast object of type 'Swisscom.It.SwisscomIntranet.UI.HtmlControls.HtmlBRControl' to type 'System.Web.UI.WebControls.RadioButton'."} System.SystemException {System.InvalidCastException}
_panPanel1 enthält außer deinen RadioButtons offenbar noch andere Controls. Daher kann dein foreach so nicht funktionieren.
Bitte ein wenig mit den Grundlagen beschäftigen.
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Du musst einfach prüfen ob es sich bei dem Control auch wirklich um einen RadioButton handelt. Ansonsten kommt es zu der genannten Fehlermeldung.
foreach(Control c in _panPanel1.Controls)
{
RadioButton rb = c as RadioButton;
if(rb != null) {
rb.Checked = true;
}
}
/Edit: Siehe auch: [Tipp] Casten aber richtig: Begriffe wie Cast / is / as
Hallo zusammen
Es ist zwar schon fast alles gesagt, aber eines...
Man kann die Collection schon durchlaufen, aber nur auf den Typen der von allen Objekten darin unterstützt wird.
Das wäre in diesem Falle evt. WebControl aber zumindest Control.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
foreach(Control c in _panPanel1.Controls)
{
if(c.GetType().Equals(typeof(Radiobutton)){
RadioButton rb = c as RadioButton;
if(rb != null) {
rb.Checked = true;
}
}
}
Würd ich jetzt machen.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
Hallo!
@schaedld:
Dein Code würde einen Compiler-Fehler erzeugen, da eine Variablen-Deklaration nicht in einem if-else-Zweig stehen darf.
EDIT: Sorry, meine Aussage ist falsch, hab' die geschweiften Klammern übersehen, ich mag' diese Java-Syntax nicht 🙁
Die Variante von Rastalt ist schon ausreichend.
Nobody is perfect. I'm sad, i'm not nobody 🙁