Najczęściej używam go, gdy uzyskuję dostęp do właściwości złożonego sterowania, która zależy od kontroli podrzędnej. Ale dodałem go również do OnInit kontrolki, aby upewnić się, że pole ukryte zostało poprawnie dodane. Jeszcze minutę temu zadzwoniłem do RenderControl, ponieważ miałem problem z renderowaniem przedłużacza kalendarza i naprawiłem go. Zaczynam się trochę zagubić, kiedy potrzebuję i kiedy nie muszę dzwonić do "Kontroli bezpieczeństwa" i kiedy powinienem to nazwać. Wszelkie wskazówki są mile widziane. Dzięki!Jakie jest prawidłowe użycie funkcji Kontrolki bezpieczeństwa()?
Odpowiedz
Program zapewnia, że funkcja ControlChildControls wyzwala CreateChildControl, jeśli nie została wcześniej wywołana. Trzeba to zrobić tylko jednorazowo w cyklu życia strony. Nazywam to bezwarunkowo w OnInit/Page_Init i nigdzie indziej. To miejsce ma tę zaletę, że formanty są tworzone zanim ASP.NET załaduje ViewState. Jeśli korzystasz z ViewState lub ControlState, konieczne jest wczesne utworzenie kontroli podrzędnych.
Czy wywołanie go w OnInit eliminuje potrzebę wywoływania go we właściwościach, jeśli właściwość uzyskuje dostęp do czegoś w rodzaju TextBox1.text? – Mike
Ogólnie mówię "tak", ale w szczegółach zależy to od twojego użycia. Jeśli zadzwonisz do programu SecureChildControls w systemie OnInit, można bezpiecznie uzyskać dostęp do elementów sterujących (poprzez właściwości lub w inny sposób) bez wywoływania go ponownie we wszystkich kolejnych etapach cyklu życia stron (ładowanie, odświeżanie, renderowanie ...) Jeśli korzystasz z ViewState, powinno to być możliwe. jedyne użycie. –
Metoda AcceptChildControls zapewnia, że formanty podrzędne są tworzone przed uzyskaniem do nich dostępu.
Za każdym razem, gdy piszesz złożone elementy sterujące, chcesz zbudować kontrolki wewnątrz zdarzeń CreateChildControls, wywołaj funkcję SecureChildControl przed uzyskaniem do nich dostępu, aby upewnić się, że wszystkie formanty zostały utworzone, aby nie uzyskać wyjątku odwołania o wartości zerowej.
- 1. Jakie jest prawidłowe użycie funkcji res.render() i res.redirect() w Expressie?
- 2. Jakie jest prawidłowe użycie XmlNode.SelectSingleNode (ciąg xpath) w języku C#?
- 3. Jakie jest prawidłowe użycie dla sqlite na blokowaniu lub async
- 4. Jakie jest prawidłowe użycie CMake EXTERNALPROJECT_ADD z repozytorium Git?
- 5. Prawidłowe użycie (lub nieużywanie) Dispatchera.CheckAccess()
- 6. CGRectIntegral jakie jest jego użycie?
- 7. C: prawidłowe użycie strtok_r
- 8. Prawidłowe użycie narzędzia CIDetectorTracking
- 9. Prawidłowe użycie stałych obawy
- 10. Prawidłowe użycie wyjątku ArgumentException?
- 11. Prawidłowe użycie Multimapping w Dapper
- 12. Prawidłowe użycie funkcji SCOPE_IDENTITY w prostej przechowywanej procedurze
- 13. Prawidłowe użycie exit() w języku C++?
- 14. Prawidłowe użycie akcji i zdarzeń
- 15. Jakie jest prawidłowe użycie std :: unique_ptr podczas przesuwania do std :: vector
- 16. Jakie jest użycie klasy wiersza z Bootstrap?
- 17. Jakie jest zamierzone użycie wyjątku IllegalStateException?
- 18. Jakie jest znaczenie i użycie __stdcall?
- 19. Czy użycie pól bitowych w połączeniu jest prawidłowe?
- 20. Prawidłowe użycie JwtTokens w języku C#
- 21. Rozszerzenie Generic Abstract Class & Prawidłowe użycie Super
- 22. Jakie jest prawidłowe kodowanie dla typu SNMP Unsigned32?
- 23. Jakie jest prawidłowe podejście do rozwiązania SPOJ DIEHARD?
- 24. Jakie jest prawidłowe zachowanie endIndex tablicy w Swift?
- 25. wkhtmltopdf: Jakie rozmiary papieru są prawidłowe?
- 26. Jakie są prawidłowe nazwy tabel w SQLite?
- 27. Jakie są prawidłowe wartości dla http Pragma
- 28. Jakie korzyści daje użycie ApplicationContext?
- 29. Użycie funkcji "z"
- 30. Jakie jest znaczenie "statycznego jako ograniczenia funkcji?
To pytanie uszczęśliwia mnie, nauczyłem się MVC :) – fearofawhackplanet