MVCとUmbracoの統合
-
06-07-2019 - |
質問
http://の手順に従いました。 memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html とUmbracoに統合されたMVCは成功しましたが、私にとって重大な問題がまだあります。
MVCビューでUmbraco定義のテンプレートを継承する方法はありますか?
私が理解しているように、Umbracoテンプレートは実行時にのみHTMLになり、 @nodeName
のようなdoctypeプロパティは認識されず、「Object null reference」が認識されません。このために例外がスローされます。
ありがとう!
解決
この質問は本当に古く、Umbracoの現在のバージョンには関係ありません。
まだ誰も気付いていない場合- 2013年以降のUmbracoのすべてのバージョン(6、7、および現在8)はMVCをサポートしています
他のヒント
ブログの投稿を見てみると、これは実際にはUmbracoと統合されていないようですが、Umbracoと連携して動作しているようです。
それは事実上それ自身のHttpHandlerです。これは、Umbraco Httphandlerと、テンプレートとCMS自体に関連するUmbraco機能全体をバイパスしていることを意味します。
MVCでUmbracoテンプレートを利用することは、(おそらく)コアアプリケーション(バージョン4以降)を変更しない限り不可能です。ただし、それは、MVCアプリケーションのコンテンツリポジトリとして機能するUmbracoでUmbracoと一緒にMVCを使用できないという意味ではありません。
Umbracoからデータを取得し、ビューで使用できるようにするMVCコントローラーを簡単に作成できます。たとえば、このためにUmbraco Linq2Umbracoを使用できます。
取得している正確なエラーと達成しようとしているものについて詳細を提供する場合、Umbraco 4+をブルートフォースしようとするのではなく、アプリケーションをどのように構成するかが解決策になる可能性がありますUmbraco 5でネイティブになります(今年中にリリースされる予定です)。 5のソースコードは Codeplex にあり、Umbracoコアの仕組みを確認するのに適した場所です。チームはこれに近づいています。
これに関する古い議論がここにあります: http:// forum .umbraco.org / yaf_postst5106_Using-ASPNET-MVC-with-Umbraco.aspx
およびここ最近: http://our.umbraco.org/forum/getting-started/installing-umbraco/2668-Use-Umbraco-with-aspnet-MVC
詳細については、 http://our.umbraco.org/forum/developers/extending-umbraco/17523-Umbraco-461-and-MVC-3
Umbracoコントロールを使用するのではなく、 umbracoを使用するHtmlHelper拡張メソッド .NodeFactory.Node クラスを使用して、ビューに表示しようとしているコンテンツを取得します。 umbraco.presentation.templateControls.Item
および umbraco.presentation.templateControls.Macro
を模倣する(または必要に応じて単純化する)メソッドを作成するだけで十分かもしれません。
編集
この道をたどって成功しました。また、MVCソースを見て、その方法を調べました。
部分的なビューは、基礎となるWebフォームコントロールコレクションに追加されていました。 System.Web.Mvc.ViewUserControl
クラスによく似た umbraco.presentation.templateControls.Macro
クラスを継承するクラスを作成することになりました。