Come controllo dell'utente make classi parziali consapevoli di controlli dichiarato nella classe di base?

StackOverflow https://stackoverflow.com/questions/2386184

Domanda

Dobbiamo fare qualcosa di speciale per avere ASP.NET classi parziali consapevoli di controlli che sono dichiarati di classi base del nostro controllo utente? Le classi parziali mantengono dichiarazioni di generazione del controllo nello classe base che significano i controlli nella classe base ottenere nascosti e sono nulli.

È stato utile?

Soluzione

L'attributo CodeFileBaseClass può essere applicato a @Page o < a href = "http://msdn.microsoft.com/en-us/library/d19c0t4b.aspx" rel => @ dichiarazioni controllo "nofollow noreferrer" per rendere il runtime ASP.NET a conoscenza di eventuali controlli dichiarati nella classe di 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 utilizzato il   attributo CodeFile deve essere   presente. Utilizzare questo attributo quando si   desidera implementare uno scenario condiviso,   dove si definisce campi comuni (e   eventi eventualmente associati) in un   classe di base per i controlli di riferimento   ha dichiarato in una pagina Web. A causa della   ASP.NET modello di generazione di codice, se si   definiti i campi in una classe base   senza utilizzare questo attributo, a   definizioni nuovo membro a tempo di compilazione   verrebbe generato per i controlli   dichiarato nella pagina Web (entro un   separare stub classe parziale), e la vostra   scenario desiderato non avrebbe funzionato. Ma   se si utilizza il CodeFileBaseClass   attribuire ad associare la classe di base   con la pagina e fate la vostra   classe parziale (il suo nome è assegnato   Inherits e la sua fonte   file viene riferimento il CodeFile   attributo) ereditano dalla base   classe, allora i campi nella base   classe potrà fare riferimento alla   controlli nella pagina dopo il codice   generazione .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top