Pergunta

Estou construindo um controle de usuário da web .NET personalizado para Umbraco, que se parece com uma página única, com uma barra lateral (que contém IDs de itens de conteúdo) no lado esquerdo da página e duas visualizações de conteúdo diferentes (que têm conteúdo por ID exibido aqui ) à direita dele.

O problema é que não sei se é possível fazer algo como o princípio masterpage/childs (em termos desse controle de usuário da web), então terei algo como "Página mestra" com esta barra lateral e renderizarei uma de duas visualizações filhas à direita, dependendo do ID selecionado na barra lateral?

Ou talvez deva haver alguma solução alternativa usada aqui?Serei muito apreciado por qualquer ajuda aqui (como informações sobre como isso pode ser feito, que informações devo procurar, etc.), pois sou completamente novo nesse tipo de coisa.

Foi útil?

Solução

Pelo que sei, o que você poderia fazer é configurar seu "controle mestre" em seu controle de usuário da web e, em seguida, criar dinamicamente um dos dois controles personalizados com base nos valores escolhidos em seu controle mestre.Isso também é conhecido como solução Master-Detail (fornecido um link).

Tutorial 10:Mestre/Detalhe usando um GridView mestre selecionável com um DetailView de detalhes

Se cada um desses controles fosse um controle de usuário aninhado dentro de outro controle de usuário, você poderia, por exemplo, ter três controles de usuário da web:Mestre, Criança1 e Criança2.

Usando o code-behind, você pode facilmente criar controles dinâmicos com base naqueles selecionados no seu controle mestre usando eventos na "página do contêiner".Usando esses eventos, você pode criar dinamicamente seus controles de usuário/passar variáveis ​​para eles e assim por diante.

Aqui estão alguns artigos sobre eventos, se você estiver interessado:

Eventos em controles de usuário

Eventos em controles de servidor ASP.NET

Se você não quisesse criar seus controles dinamicamente, não seria difícil vinculá-los sob demanda, dependendo da variável do seu controle Mestre, e ocultá-los se não estiverem sendo usados/vinculados.

Você também pode usar as propriedades públicas de um controle que você mesmo define.Então, digamos que você tenha seu controle de usuário Child1, você poderia definir uma propriedade pública no código por trás.Você também pode acessar isso em tempo de design.

public int SpecialID { get; set; }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top