Avatar billede rejx Nybegynder
14. oktober 2009 - 21:57 Der er 4 kommentarer og
3 løsninger

Kan ikke få lov til at konvertere Label

Jeg har følgende kode:


foreach (Control c in oControl.Controls)
{
    if (c is Label)
    {
        Label l = (Label)c.FindControl(c.ID);
    }
}

jeg får fejlen "Cannot convert type 'System.Web.UI.Control' to 'Label'"

Fejlen forstår jeg som sådan godt, men jeg har nødagtigt samme kode i et andet projekt, og jeg kan ikke lige dreje hvorfor det ikke virker i dette, er der nogen der har haft samme problem stilling? Eller måske kender en anden løsnings form?
Avatar billede arne_v Ekspert
14. oktober 2009 - 22:03 #1
Skal:

Label l = (Label)c.FindControl(c.ID);

ikke vaere:

Label l = (Label)c;

eller:

Label l = (Label)oControl.FindControl(c.ID);

?
Avatar billede mrtn Nybegynder
14. oktober 2009 - 22:04 #2
Hvad med (ca da jeg ikke sider med en compiler):

if (c.FindControl(c.ID).GetType() == typeof(Label))
{
  ...
Avatar billede rejx Nybegynder
14. oktober 2009 - 22:13 #3
Det giver mig samme fejl... har prøvet med følgende:

foreach (Control c in oControl.Controls)
{
    if (c.FindControl(c.ID).GetType() == typeof(Label))
    {
        // Label l = (Label)oControl.FindControl(c.ID);
        // Label l = (Label)c.FindControl(c.ID);

        Label l = (Label)oControl.FindControl(c.ID);
    }
}
Avatar billede sirius Nybegynder
15. oktober 2009 - 09:05 #4
hvorfor ikke bare:
foreach (Control c in oControl.Controls)
{
    if (c is Label)
    {
        Label l = c as Label;
    }
}

eller endnu nemmere

foreach(Label l in oControl.Controls.OfType<Label>())
{
}
Avatar billede rejx Nybegynder
16. oktober 2009 - 09:18 #5
Okay, det her var så en fejl 40 af de større... :/

Det viste sig at jeg i min Linq to SQL klasse havde brugt navnet Label. Så alle jeres svar virker.

arne_v og sirius:  Hvis i smider et svar så deler jeg points ligeligt mellem jer alle.
Avatar billede sirius Nybegynder
16. oktober 2009 - 12:27 #6
svar :-)
Avatar billede arne_v Ekspert
16. oktober 2009 - 12:41 #7
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester