Ok, jestem doświadczonym web developerem, ale czasami ASP.Net mnie oszukuje. Mam stronę wzorcową w asp.net. Następnie mam stronę opartą na tej stronie wzorcowej (home.aspx). Teraz w home.aspx.cs Chcę uzyskać dostęp do asp: kontrola treści, aby programowo dodawać elementy sterujące.Access asp: treść z kodu za
Aspx wygląda następująco:
<asp:Content ID="leftCol" ContentPlaceHolderID="cphLeftCol" Runat="Server">
<asp:PlaceHolder ID="phLeftCol" runat="server">
</asp:PlaceHolder>
</asp:Content>
Spodziewam się, że mogę odwołać "leftCol" z mojego kodu tyłu. Ale tam nie wiadomo. Do testowania dodałem własny symbol zastępczy "phLeftCol". Mogę to odnieść bez problemów.
Czy jest coś, czego nie widzę?
Więc moje obejście jest najlepszy ćwiczyć. Jaka szkoda. – newtogit
Istnieją inne kontrole kontenera, które lepiej pasują do twojej sytuacji niż kontrolka zastępcza (naprawdę musiałaby wiedzieć więcej o tym, co robisz), ale kontrola zawartości nie jest opcją. –
Pomyśl o tym, że każdy obiekt ContentPlaceHolder (na stronie wzorcowej) i każdy pasujący obiekt Treści (strona treści) są po prostu przeciwległymi punktami końcowymi odsyłacza informującego system nadrzędnego/treściowego o tym, gdzie i co należy umieścić na stronie wzorcowej. Każdy obiekt ContentPlaceHolder na stronie wzorcowej po prostu wskazuje miejsce osadzenia materiału zdefiniowanego w każdym odpowiednim obiekcie Content na stronie zawartości. Ponieważ te obiekty służą jedynie jako łącze do tego, gdzie/co osadzić, są jak metaobiekty dla systemu nadrzędnego/treściowego, więc nigdy nie są częścią hierarchii kontrolnej. – Triynko