2009-07-07 46 views
1

我剛開始打開我的眼睛看看ASP.Net MVC,但是在我們正在使用的網站上我們使用了DotNetNuke,而且我其實很喜歡你的方式可以創建新的「模塊」,並輕鬆地將它們插入到您的網站(如果模塊編碼正確的話)。在MVC中創建一個單獨的模塊,就像你可以在DotNetNuke中做的那樣

可以使用Asp.Net MVC模式,當你做到這一點?你有一個同事創建一個新的.dll,設計者只需插入站點就可以不需要太多或者任何代碼隱藏的交互?

回答

1

爲什麼不呢?

這與在整個.net框架中使用的"Provider pattern"非常相似。對於.net框架中的模塊,它可以在不觸及源代碼的情況下動態加載不同的提供程序,所有這些都必須在xml配置文件中完成。

實際上,您將創建一個ModuleProvider基類,所有模塊都將從其繼承。在主控制器中,它加載不同的ModuleProviders並讓其他人完成。

解釋供應商模式和設計將如何將是一個漫長的過程。請閱讀上面的鏈接並研究框架中使用的提供者。

+0

謝謝,我會看看它:) – HerrLiljegren 2009-07-07 11:31:10

+0

真的,但爲什麼不堅持DNN然後,MVC不提供出箱插件+播放模塊支持。 – typemismatch 2009-09-11 02:25:30

0

你會缺少一些必備的東西。它可能具有可重用的代碼在MVC一個單獨的DLL,但由於controlls的使用(又名模塊)是有限的,將很難有一個有用的實現。 Oldschool ASP.NET對於這類應用程序來說非常好。

活動

如果你經常需要用它來接收事件或發送事件控制。這隻有在ASP.NET webforms中才有可能。

屬性

在你經常要設置公共屬性的控件的容器。那也是ASP.NET Webforms。

我提到的ViewState?我應該...

我不想帶你遠離ASP.NET MVC。它是一個真正的好框架,但我沒有看到它像DotNetNuke應用程序。

1

Andrew Nurse(DNN的高級開發人員Charles Nurse的兒子)已經開始了ASP.NET MVC中可插入DNN類功能的基本框架,名爲Maverick,這可能對您很有意思。

0

看看這個博客條目http://blogs.msdn.com/hammett/

說明如何通過只是刪除在主應用程序bin目錄下的DLL中嵌入的.aspx在DLL中和的.ascx頁面,您可以添加的功能。路由和導航。它使用MEF,但你可以在沒有一點工作的情況下完成。

相關問題