Pergunta

Eu estou usando um ObjectDataSource com dados vincular a um GridView; ele funciona bem, exceto que ele sempre cria um novo objeto para usar como uma fonte de dados. Eu posso fazer toda a configuração muito bem, mas eu não posso usar uma instância de um objeto existente para especificar como a "fonte de dados" para ele. É possível fazer isso? Se sim, como?

Se não for possível, por quê?

EDIT: Aqui está a essência do que está acontecendo (tipos de objetos alterados): Na primeira página que você está editting os atributos para um cão. Um dos atributos é "tem cachorros" e se é verdade, a próxima página você especificar os nomes dos filhotes. O que está acontecendo no meu caso é que esses filhotes não estão ficando ligado ao cão original, mas a um cão "novo". (A implicação de que o meu problema é a "cadela" foi coincidência. ;-))

Foi útil?

Solução

Criar um manipulador de eventos para o evento ObjectCreating no ObjectDataSource.

Você pode atribuir a instância para o uso da propriedade ObjectDataSourceEventArgs

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

Fio este evento se na marcação demasiado

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" />

Outras dicas

Como eu só descobri em minha própria pergunta aqui, os itens armazenados no cache de aplicativos vão passar-se como uma referência para o uso. Você pode considerar armazenar seus dados lá (ou potencialmente na Sessão bem) e passar os itens que forma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top