Domanda

sto usando un ObjectDataSource per associare i dati ad un GridView; funziona bene tranne che crea sempre un nuovo oggetto da utilizzare come fonte di dati. Posso fare tutto la messa a punto più che bene, ma non posso usare un'istanza di un oggetto esistente per specificare come "fonte di dati" per esso. E 'possibile fare questo? Se é cosi, come?

Se non è possibile, perché?

EDIT: Ecco il senso di quello che sta succedendo (tipi di oggetti modificati): Nella prima pagina che si sta Editting gli attributi per un cane. Uno degli attributi è "ha cuccioli" e se è vero, la pagina successiva specificare i nomi di quei cuccioli. Quello che sta succedendo nel mio caso è che quei cuccioli non sono sempre legati al cane originale, ma ad una "nuova" cane. (L'implicazione che il mio problema è un "cane di sesso femminile" è stato casuale. ;-))

È stato utile?

Soluzione

Crea un gestore di eventi per l'evento ObjectCreating sul ObjectDataSource.

È possibile assegnare l'istanza utilizzando la proprietà ObjectDataSourceEventArgs

protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
    e.ObjectInstance = myObject;
}

Filo questo evento nella marcatura troppo

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" />

Altri suggerimenti

Come ho appena scoperto in la mia domanda qui, gli elementi memorizzati nella cache applicazioni stanno per farsi passare come riferimento per l'uso. Si può prendere in considerazione l'archiviazione dei dati di là (o potenzialmente nella sessione come bene) e passare gli elementi in questo modo.

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