1

我見過很多職位(例如,見https://stackoverflow.com/a/7363860/1378356),其中指出ASP.NET用戶控件(的.ascx)並不打算在不同的項目/組件使用。相反,正確的方法是創建一個服務器/自定義控件。如何設置控件庫的DNN網站

我的問題是,那麼如何創建一個DNN模塊呢? DNN模塊通常有一個.ascx文件,它繼承自最終從System.Web.UI.UserControl繼承的DotNetNuke.Entities.Modules.PortalModuleBase。

這是創建DNN模塊的正確方法,如果這樣將我一路上遇到的痛苦?

回答

0

如果您從由Chris Hammond(Christoc.com)創建的模塊模板開始,您將幾乎無痛苦。

+0

這些模板可以做的伎倆,但你可以請詳細說明:是DNN其實破不具有另一個項目ASCX的標準,如果是的話,爲什麼不? – as9876

1

如果您按照鏈接帖子中列出的正確的「法律函」進行操作,但是,在DNN模塊的情況下,您創建的控件(即.ascx文件)將由您的代碼使用,並且只需加載DNN即可。

既然你是這些消費者,或你的模塊,部署或更改所列出的風險是不是真的與DNN的影響。

如果你要建立一個模塊,然後讓別人來消耗你的控件就是事情有點棘手和去自定義控件的途徑可能使事情變得更容易消耗。 (他們正在討論關於更新複雜性的一個很好的例子就是DNN TextEditor控件,給定「〜/ Controls/TextEditor.ascx」的根相對引用,你不得不欺騙VS以知道適當的類型是控制。)

但是所有功能於所有,對於基於DNN溶液是所述的.ascx是一個可以接受的做法。