Utilizzando il metodo Bind() di Asp.net, come si esegue il binding all'oggetto stesso, non a una delle sue proprietà?Collegamento all'oggetto stesso, non a una delle sue proprietà
risposta
Ho finito per aggirare questo problema aggiungendo una proprietà denominata SelfReference che restituisce semplicemente this
. Se qualcuno legge questo e ha una soluzione migliore, mi piacerebbe sentirlo.
Non sono sicuro di cosa esattamente si voglia legare. L'unica cosa che avrebbe senso per me al momento è quella di legare a un controllo dell'interfaccia utente, ad esempio un controllo DropDown per esempio.
Di solito alcune proprietà di testo per il valore visualizzato e proprietà di valore per il valore effettivo per funzionare come identificatore. Sulla discesa
- DataTextField
- DataValueField
Ci si specifica DataTextField = "Firstname"
e DataValueField = "Id"
dato che si dispone di un oggetto che ha proprietà "Nome" e "ID".
Nelle liste è possibile utilizzare la funzione Eval
direttamente sul proprio codice ASPX o aggiungere controlli sul lato server (cioè letterali, etichette) all'interno dei modelli di lista e implementare l'evento ItemDataBound
(prendendo come esempio il ripetitore). Here's un buon esempio che illustra ulteriormente questo.
Spero di essere stato in grado di aiutare un po ';)
Credo che quello che Ryan significa qui, come se si dispone di un oggetto come questo
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
E se si associa Person
oggetto ovunque in GridView o Ripetitore su qualsiasi DataSource si associa solo Persona e ottiene un valore di bind predefinito da una delle sue proprietà. supporto abbiamo una variabile di tipo Ryan
da Person
in modo che io voglio ottenere il valore della variabile di chiamare <%# Eval("Ryan") %>
non <%# Eval("Ryan.FirstName") %>
ho provato a mettere un attributo DefaultBindingProperty per la classe, ma non funziona
[System.ComponentModel.DefaultBindingProperty("FirstName")]
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Così fa qualcuno sa come farlo correttamente?
Sì. Voglio legare l'oggetto, non una delle sue proprietà. – Ryan
Ho trovato un modo in qualche modo. In realtà è in "http://msdn.microsoft.com/en-us/library/ms752347.aspx"
ListBox ItemsSource="{**Binding**}" IsSynchronizedWithCurrentItem="true"/>
Si noti che anche se abbiamo sottolineato che il percorso per il valore da utilizzare è uno dei quattro componenti necessarie di un legame, negli scenari che si desidera associare a un intero oggetto, il valore da utilizzare sarebbe uguale all'oggetto di origine dell'associazione. In questi casi, è applicabile a non specificare un percorso. Si consideri il seguente esempio:
XAML Copia
È possibile utilizzare Container.DataItem invece: Item='<%# Container.DataItem %>'
- 1. C# Trasmissione del valore Foreach a una delle sue proprietà
- 2. WPF - collegamento ad una proprietà dello stesso controllo
- 3. Collegamento a proprietà statiche
- 4. Ottenere una coda senza fornire tutte le sue proprietà
- 5. Enumerazione e copia delle proprietà da un oggetto a un altro oggetto dello stesso tipo
- 6. Perché il nome di un membro di una classe non può essere uguale a una delle sue classi nidificate?
- 7. Cerca documenti basati su una delle sue proprietà in marklogic usando rest api
- 8. Collegamento a una proprietà del componente in angular2
- 9. Impossibile caricare Microsoft.SqlServer.BatchParser o una delle sue dipendenze
- 10. Linux ottiene la dimensione di una cartella e delle sue sottocartelle fino a una certa profondità
- 11. Collegamento delle dipendenze di una libreria condivisa
- 12. Collegamento a ActualWidth non funziona
- 13. XAML Collegamento alla proprietà
- 14. Una griglia delle proprietà in jQuery
- 15. Perché una classe non può avere una proprietà statica o costante e una proprietà di istanza con lo stesso nome?
- 16. sostituisci lo stesso collegamento da desktop innosetup
- 17. Perché Sitecore genera un'eccezione NullReferenceException quando reindirizzamento a una delle sue pagine?
- 18. L'aggiunta di metodi a una classe Java aumenta l'utilizzo della memoria delle sue istanze?
- 19. php - Come faccio a convertire una stringa in un array associativo delle sue parole chiave
- 20. Assegnare Stesso SNo alla madre e le sue Bambino
- 21. Plugin org.apache.maven.plugins: maven-clean-plugin: 2.5 o una delle sue dipendenze non possono essere risolti
- 22. Lo spinner Android non ha il ripple sul pulsante stesso, solo le sue opzioni
- 23. Plugin org.apache.maven.plugins: maven-resources-plugin: 2,5 o una delle sue dipendenze non possono essere risolti: UnresolvedAddressException
- 24. In che modo MEF determina l'ordine delle sue importazioni?
- 25. collegamento a una directory sulla rete
- 26. Come posso passare i dati da un controller della barra delle schede a una delle sue schede?
- 27. Come raggruppare un array di oggetti javascript per più delle sue proprietà?
- 28. Ottenere indice elemento di un array sulla base delle sue proprietà
- 29. JointJS: rendere mobile l'etichetta di collegamento sul collegamento stesso
- 30. Ripristino delle proprietà da una griglia di proprietà
Si prega di specificare con maggiore chiarezza che cosa esattamente si desidera associare. Per un controllo List ... ?? – Juri
Sono vincolante per un oggetto in un controllo FromView. Dentro il FormView ho un UserControl che definisce una proprietà che è del tipo vincolato. Ad esempio, immaginare una classe denominata Nome che definisce due proprietà, FirstName e LastName. Un'istanza della classe Name è associata a FormView. Non voglio passare FirstName o LastName al mio UserControl chiamando Bind ("FirstName") e Bind ("LastName"), voglio passare l'istanza Name stessa al mio UserControl. – Ryan