Dobbiamo fare qualcosa di speciale per far sì che le classi parziali di ASP.NET siano a conoscenza dei controlli dichiarati nelle classi di base del nostro controllo utente? Le classi parziali continuano a generare dichiarazioni per i controlli nella classe base, il che significa che i controlli nella classe base vengono nascosti e sono nulli.Come rendere le classi parziali del controllo utente consapevoli dei controlli dichiarati nella classe base?
risposta
L'attributo CodeFileBaseClass può essere applicato alle dichiarazioni @Page o @Control per rendere il runtime ASP.NET consapevole di tutti i controlli dichiarati nella classe base.
MSDN descrive come segue:
Specifica il nome del tipo di una classe base per una pagina e la sua associata classe code-behind.
Questo attributo è facoltativo, ma quando viene impiegato l'attributo CodeFile deve essere anche presenti. Utilizzare questo attributo quando si desidera implementare uno scenario condiviso, dove si definiscono campi comuni (e facoltativamente, eventi associati) in una classe base per fare riferimento ai comandi dichiarati in una pagina Web. A causa del modello di generazione di codice ASP.NET, se si definito i campi di una classe di base senza l'utilizzo di questo attributo, a nuove definizioni membro a tempo di compilazione sarebbe generato per i controlli dichiarati nella pagina Web (entro un stub di classe parziale separata) e lo scenario desiderato non funzionerebbe. Ma se si utilizza l'attributo CodeFileBaseClass di associare la classe di base con la pagina, e fate la vostra classe parziale (il suo nome viene assegnato l'attributo Inherits e il suo file sorgente fa riferimento il CodeFile attributi) Eredita dalla classe di base, i campi nella classe di base saranno in grado di fare riferimento ai controlli nella pagina dopo la generazione del codice .
- 1. WPF controllo utente problema della classe base
- 2. Deriva il controllo utente dalla classe base controllo utente personalizzato
- 3. Le dichiarazioni parziali non devono specificare diverse classi di base
- 4. Smaltimento dei controlli utente WPF
- 5. Perché i file code-behind di aspx sono dichiarati come classi parziali?
- 6. Ritorno del tipo astratto nella classe base
- 7. NET classi parziali vs. Ereditarietà
- 8. Dichiarazioni parziali di non deve specificare diverse classi di base
- 9. Classi parziali WinForm
- 10. Rendere le classi figlie incapaci di sovrascrivere l'implementazione del metodo
- 11. classi parziali java
- 12. Costruttori di classi parziali
- 13. Utilizzo di classi parziali
- 14. Modelli C++: Specifiche dei modelli parziali e classi di amici
- 15. Classi parziali in DLL separate
- 16. C# - Come rendere un metodo visibile solo alle classi che ereditano la classe base del metodo
- 17. Come rendere Angular Forms Le classi ngModel ereditano dalle classi Bootstrap Forms
- 18. Come posso rendere un controllo utente estendere una classe che estende UserControl?
- 19. Ottenere le dimensioni correnti dei controlli WPF
- 20. Come instanziare le classi del template di base esplicitamente?
- 21. recuperare solo campi statici dichiarati nella classe Java
- 22. Come ereditare pubblicamente da una classe base, ma rendere alcuni metodi pubblici dalla classe base privata nella classe derivata?
- 23. Converti controlli utente in controlli server
- 24. Come convertire automaticamente le classi VS2003 in file Designer.cs parziali?
- 25. ASP.NET: Viewstate e aggiunta programmatica dei controlli utente
- 26. Come accedere a IBOutlets dichiarati nella superclasse?
- 27. UserControls nella libreria di classi
- 28. Strumento per unire classi parziali in una classe?
- 29. Genera automaticamente le implementazioni dei metodi della classe base
- 30. Caricamento asincrono dei controlli utente in una pagina