Det er en godt spørgsmål qawi - med website modellen der benyttes i vs2005 er det faktisk en smule bikset... Men det er som sagt ikke den løsning jeg vil anbefale (det er den med at lave en property).
Du kan gøre det (hvis du virkelig vil), ved at definere dine fields i en baseklasse som publics - og så angive i dit controldirective hvilken base du vil benytte... F.eks. sådan her:
public class SomeBaseControl : UserControl { public TextBox TextBox1; }
og så din usercontrol: <%@ // som normalt men tilføj CodeFileBaseClass="SomeBaseControl" %> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
Så skal frameworket nok sørge for at det er det field du selv har defineret der bliver benyttet - og ikke et nyt genereret.
Er ikke lige med på diskussionen, men gawi svar virker fint umiddelbart - dog forstår jeg ikke at følgende: CType(Me.Page.FindControl("TextBox1"), TextBox).Text = "hej" ikke kan lade sig gøre
Jeg vil fortsat anbefale dig at lave en property, af flere årsager:
For det første vil det ikke virke, hvis du indsætter en Label med id'et Label1 på din side, eller for den sags skyld på en anden usercontrol du også indsætter på siden. Som et minimum må du gå via din usercontrols FindControl. Har du kaldt din usercontrol uc1 på siden - skal du lave en uc1.FindControl("Label1").
Men det mener jeg stadig ikke kan anbefales, da du så skaber en afhængighed imellem navngivningen af dine kontroller på din usercontrol, og din side. Vel at mærke en afhængighed som kompileren ikke kan hjælpe dig med at checke.
Laver du derimod en property - kan du kalde den noget der giver mening for den usercontrol du har lavet... F.eks. Header. Du kan så i implementeringen af din property (på selve din usercontrol) mappe til det du vil - og ændre det lige så tit du gider, uden at dine sider holder op med at fungere.
yes - jeg skal nok bruge property næste gang - "på spejder ære" :o)
Synes godt om
Ny brugerNybegynder
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.