
導言:
醞釀了幾天,終於想好怎么開始下一節了.實在是不容易.接下來我將介紹怎么搭建dnn6解決方案.
續接:
找齊這些工具之后,迫不及待的想開始進行開發了,這個時候,一個很基本的問題出現在我們的眼前,怎么組織dnn6的項目結構.現在比較流行三層架構,那么必須的,首先有一個解決方案,很明顯,dnn6安裝的網站就是View層,至於其它的,可以很自由,熟悉什么框架技術或者持久層技術就加上好了.最后就是加頁面的問題,是整個項目的加,還是一頁一頁的加進去.所以,個人覺得創建dnn6項目分成兩種方法.
先看基本的dnn6項目結構.然后將一步步介紹怎么加頁面.
圖1 基本dnn6項目結構
1. 一頁一頁的加.
在dnn網站的desktopmodules下增加web用戶控件.
圖2 增加頁面目錄
下面舉個例子,試試這種效果.以下是步驟.
1) 在該目錄下新建一個Test文件夾,然后增加一個WebUserControl.名稱為Example.
2) 修改代碼文件的基類為DotNetNuke.Entities.Modules.PortalModuleBase.保存.
3) 往頁面上拖兩個控件.一個lable,一個button.編寫簡單的button事件.
protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = "my first dnn pages!";
}
4) Build 解決方案,你會發現如下錯誤.
圖3 常見錯誤
解決方案是:點擊這個錯誤,把這個頁面排除在項目之外就可以解決,實際上系統對基本沒有使用.
5) 如果出現沒有定義控件的錯誤,在哪個webUserControl下增加一個designer文件.因為增加的時候比正常的少了.可能發現不了.
6) 用host身份登錄到網站中.進入Extentions功能塊中.
圖4 進入host下的Extentions塊中.
在Edit模式下,選擇創建新擴展.(create new extention)
圖5 增加新擴展
7) 填寫對應的信息,選擇Module.
圖6 填寫模塊信息
8) 之后在Extention的Module下找到Example,點那支筆,增加模塊定義和控件.控件就是剛剛增加的那個頁面.然后保存.
圖7 增加模塊定義和控件.
9) 增加頁面,並在頁面上增加模塊.
圖8 增加頁面
圖9 增加模塊
最后,就能看到效果了.如下圖.
圖10 最后效果
2. 使用工具,整個項目都加進去.
個人覺得,做頁面的時候最好不要把網站加進去,因為這個網站只要一編譯或者一調試就容易出錯,直接往上面加就好了.廢話少說,先看目錄結構吧!
圖11 目錄結構
下面看步驟吧!
1) 往解決方案中增加新項目.注意項目所在位置為網站的desktopMoudules文件夾.
圖12 增加頁面項目
2) 重新設置項目的屬性.
圖13 設置項目屬性
這里要查看下該項目下是否有web.Config文件,有的話就刪掉,以免跟網站的配置文件矛盾.
3) 增加頁面.
增加頁面ViewStudent.ascx,操作跟前面類似.下面貼出代碼.
<div>
<p>
交談中請勿輕信匯款、中獎信息、陌生電話,勿使用外掛軟件。
飄動的心( 251414041) 9: 56: 01
WE7 CMS如何?
淺 陌( 254083034) 9: 56: 10
一直用
貓小喵( 381574171) 9: 56: 12
爛
(來自手機QQ: http: // mobile.qq.com/v/ )
飄動的心( 251414041) 9: 56: 30
爛????
淺 陌( 254083034) 9: 57: 04
和DNN比當然爛了- -
淺 陌( 254083034) 9: 57: 12
和國內那些比還算好吧
飄動的心( 251414041) 9: 57: 16
飄動的心( 251414041) 9: 57: 23
DNN什么都要開自己開發
飄動的心( 251414041) 9: 58: 00
人家還好KOOBOO比DNN還要好呢
郭龍( 51829747) 10: 03: 36
網站 這個東西,看得見的東西一般都得自己開發,DNN還不錯,有那么多可以花點錢就能買的 東西,省多少開發時間啊
飄動的心( 251414041) 10: 08: 32
WE7 性能如何?
淺 陌( 254083034) 10: 09: 58
沒什么感覺,就是做個企業站,沒測試過
飄動的心( 251414041) 10: 10: 31
作個企業站要動這么大個東西?
淺 陌( 254083034) 10: 15: 29
沒什么大的啊,方便不是
飄動的心( 251414041) 10: 15: 36
WE7有很全的文檔啊
飄動的心( 251414041) 10: 16: 17
DNN
KOOBOO 都是英文的
淺 陌( 254083034) 10: 16: 30
網站上的文檔很多都沒內容
淺 陌( 254083034) 10: 16: 46
官方社區問個問題基本你別指望有人回答你
飄動的心( 251414041) 10: 16: 48
不死鳥( 88568628) 11: 20: 29
正則驗證 長度6-18位 怎么寫 有誤高手
不死鳥( 88568628) 11: 20: 33
有無高手
</p>
<hr />
sdfsdfsdfsdfds
<asp:GridView ID= " GV_Students " runat= " server ">
</asp:GridView>
</div>
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FirstModule
{
public partial class ViewStudent : DotNetNuke.Entities.Modules.PortalModuleBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GV_Students.DataSource = (new BussinessLogic.StudentBussiness()).QueryAll();
GV_Students.DataBind();
}
}
}
}
{
try
{
var result = from stu in DBContext.ssd.students
where 1 == 1
orderby stu.cometime ascending
select stu ;
return result.ToList();
}
catch (Exception)
{
return null;
throw;
}
}
4)加到網站中. 步驟跟前面類似.
圖14 最后頁面效果
3. 小結
作為項目實施最基礎的一步,對初學者來說往往很難邁出去,即使本人調試這個東西也花了一個上午,這都是個人實踐總結,希望對初學者能有幫助.強烈推薦搭建項目的時候采用第二種方法,這會給你帶了很多便利.多謝大家的支持.希望共同學習,共同進步.有什么不明白的,可以加本人qq:583391571.有空一定為你解答.