Pergunta

Antes de eu fazer isso, eu percebi que eu iria perguntar se era o melhor caminho. Cada objeto "Vendedor" tem um objeto "Bucket". Na minha repetidor Eu preciso exibir algumas propriedades de Vendor e alguns do balde, também algumas imagens povoadas por sistema de arquivos que estão ligadas ao fornecedor. Imaginei que a melhor maneira de fazer isso é vincular o repetidor com o objeto fornecedor, em seguida, em ItemDataBound eu preencher as imagens e os baldes com base no fornecedor que é obrigado a que os itens específicos [e.Item.ItemIndex].

Esta é a melhor maneira de fazer isso?

Foi útil?

Solução

Se o objeto do fornecedor só pode conter um único objeto Bucket pode ser apropriado para ligar tudo isso em um único, de nível superior repetidor. Você pode acessar o balde através de simples dados de ligação todos no nível superior sem substituir ItemDataBound.

Porque você está provavelmente a ligação do "Vendedor", você tem acesso a ele de membros em um vincular se você quiser fazê-lo desta maneira:

<%# DataBinder.Eval (Container.DataItem, "Bucket.Property" ) %>

Você quer fazer o ItemDataBound se for preciso "processo de algo" durante cada iteração da necessidade de acesso de ligação e detalhada para cada objeto Vendedor para a tomada de decisão.

Se o objeto fornecedor pode conter vários baldes, então a melhor maneira de obter acesso ao que é através ItemDataBound. Em cada iteração do fornecedor que você pode vincular um novo repetidor, aninhada para exibir os dados de balde, ou executar qualquer repetindo / funcionalidade de agregação pode ser necessário.

Dependendo de como você quer que ele se comportar em seu cliente, você poderia desenhar apenas os fornecedores. Quando o usuário clica sobre o fornecedor (ou qualquer outro), você pode executar uma chamada AJAX para o servidor que recuperar os dados Balde e torná-lo em sua página dinamicamente. Você pode querer tentar essa abordagem se houver um grande número de fornecedores juntamente com seus baldes que está sendo processado. Isso ajudaria o desempenho do banco de dados e página tempo de render em contraste com a construção de tudo no lado do servidor ASPX. (Mas isso precisa ser um monte de dados, você deve fazê-lo por razões de usabilidade / cliente antes de tentar ganhos de desempenho mérito.)

Outras dicas

Isso é como eu costumo ir sobre ele, ligam no objeto principal e lidar com os detalhes no ItemDataBound.

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