Pergunta

Eu estou usando o ASP.NET MVC 3 e procurando possivelmente usando dynatree. Estou na página de pesquisa ainda e tentando descobrir algumas perguntas pendentes antes de começar a implementá-la.

dynatree com o ASP.NET MVC

Eu estive olhando para o poste acima e como @Matt Penner torna sua visão de árvore e na minha opion parece mais limpa do que a resposta aceita.

Uma pergunta que eu tenho como é como você publica as opções verificadas para o servidor? Quando é processado, parece que todas as tags de bala que são convertidas para parecer com caixas de seleção.

Então eu estou querendo saber como eu serialize esses dados? Agora eu tenho um formulário e quando o usuário atinge enviar eu faço um jQuery serializarrary e enviá-lo via AJAX para o servidor onde ele é obrigado ao meu modelo de visualização.

Como eu faria isso para as escolhas selecionadas na vista da árvore?

Eu também não estou claro sobre como eu poderia tornar a exibição de árvore com nós verificados padrão com base no exemplo Matt Penner tem.

obrigado

Foi útil?

Solução

A maneira como Matt Penner torna a árvore é mais simples e mais limpa ... mas desde que o HA não construiu "modelos" que representa os dados da árvore, não é fácil usar sua abordagem para ler a árvore. A árvore deve ser lida de volta em um "modelo", e uma vez que é uma árvore, esse modelo deve ser recursiva como a mostrada no primeiro exemplo.

No entanto, se você fornecer nomes adequados às caixas de seleção, você pode lê-los de volta. Na fatura, o modelo vinculativo no post é feito usando uma convenção de nome, portanto, por exemplo, uma caixa de seleção chamada:

Crianças [2] .Children [0] .mycheckbox

será lido de volta no: Terceiro CRIANÇAS PRIMEIRO NÍVEL=> Primeiro Nível de Segundo Chidren Modelo do modelo heroárquico que você tem que construir para receber os dados postados.

No entanto, esta abordagem funciona bem, se o usuário não modificar a estrutura da árvore, porque nessa caixa a caixa de seleção chamada crianças [2] .Children [0] .mycheckbox pode chegar a um lugar diferente que seu nome sugere, é isso que não seria mais o nível de três formas de infância, e pode se tornar, por exemplo, a 5ª criança primeiro nível ... mas seu nome não muda.

do outro lado se você serializar os dados no cliente e enviá-los em JSON para o livre, você será capaz de levar em conta também modificações de árvore.

que dito dar uma olhada para o TreeView do Toolkit de Controles MVC (eu sou O coordenador do projeto) ... já faz todo trabalho para você, e você pode usar um modelo genérico para cada nó, ou seja, você pode colocar o everuthing que você gosta em cada nó:

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