Pergunta

Eu segui os passos do http: // memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html e integrado MVC em Umbraco com sucesso, mas ainda tenho um problema que é fundamental para mim.

Existe alguma maneira para herdar o Umbraco definido modelos em uma visão MVC? Como eu entendo o problema é que os modelos umbraco tornar HTML somente em tempo de execução e as propriedades doctype, como @nodeName, não são reconhecidos e exceção "referência nula objeto" que estão sendo jogados por causa disso.

Obrigado!

Foi útil?

Solução

Esta questão é muito velho e não é relevante para as versões atuais do Umbraco.

Apenas no caso de alguém ainda não tem conhecimento - Todas as versões de Umbraco desde 2013 (6, 7 e agora 8) apoio MVC

Outras dicas

Tendo tido uma olhada no post parece que este não é realmente integrado com Umbraco mas trabalhando ao lado de Umbraco.

Em que é efetivamente o seu próprio HttpHandler. Isso significa que ele está ignorando o Umbraco HTTPHandler e um monte de funcionalidade Umbraco relativos a modelos e o próprio CMS.

Obter MVC para utilizar modelos umbraco é (provavelmente) não é possível sem modificações para o aplicativo principal (na versão 4+). No entanto isso não significa que você não pode usar MVC ao lado Umbraco com Umbraco agindo como um repositório de conteúdo para uma aplicação MVC.

Você poderia facilmente criar controladores MVC que puxaram dados de Umbraco e feitas que disponível para os seus pontos de vista. Por exemplo, você poderia usar Umbraco Linq2Umbraco para isso.

Se você dar mais detalhes quanto aos erros precisos que você está recebendo e exatamente o que você está tentando alcançar, pode ser a solução está em como você estruturar sua aplicação em vez de tentar força bruta Umbraco 4+ para fazer algo que será nativa em Umbraco 5 (que está agendado para lançamento ainda este ano). O código fonte para 5 está em Codeplex e pode ser um bom lugar para dar uma olhada e ver como o núcleo Umbraco equipe estão se aproximando isso.

Há uma discussão antiga sobre isso aqui: http: // fórum .umbraco.org / yaf_postst5106_Using-ASPNET-MVC-com-Umbraco.aspx

e mais recentemente aqui: http://our.umbraco.org/forum/getting-started/installing-umbraco/2668-Use-Umbraco-with-aspnet-MVC

Uma discussão mais aprofundada pode ser encontrada aqui: http://our.umbraco.org/forum/developers/extending-umbraco/17523-Umbraco-461-and-MVC-3

e ainda mais aqui: http: // nossa .umbraco.org / forum / desenvolvedores / estendendo-umbraco / 6837-Umbraco-site-E-MVC-site-in-One

Ao invés de tentar usar os controles umbraco, você pode considerar escrever algum HtmlHelper métodos de extensão que o uso do umbraco .NodeFactory.Node classe para obter o conteúdo que você está tentando exibir em seus pontos de vista. Escrevendo métodos que imitam (ou simplificar com base em suas necessidades) umbraco.presentation.templateControls.Item e umbraco.presentation.templateControls.Macro pode ser o suficiente para você.

Editar

Eu fui por esse caminho com algum sucesso. Eu também dei uma olhada na fonte MVC para saber como vistas parciais estavam a ser adicionados à colecção controlos formas web subjacentes. Acabei escrevendo uma classe que herda da classe umbraco.presentation.templateControls.Macro que se parece muito com a classe System.Web.Mvc.ViewUserControl.

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