dnn6 入门系列:二 怎么搭建dnn6解决方案?

导言:

酝酿了几天,终于想好怎么开始下一节了.实在是不容易.接下来我将介绍怎么搭建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)      之后在ExtentionModule下找到Example,点那支笔,增加模块定义和控件.控件就是刚刚增加的那个页面.然后保存.


7 增加模块定义和控件.

9)      增加页面,并在页面上增加模块.


8 增加页面


9 增加模块

最后,就能看到效果了.如下图.


10 最后效果

 

2.         使用工具,整个项目都加进去.

个人觉得,做页面的时候最好不要把网站加进去,因为这个网站只要一编译或者一调试就容易出错,直接往上面加就好了.废话少说,先看目录结构吧!


11 目录结构

下面看步骤吧!

1)        往解决方案中增加新项目.注意项目所在位置为网站的desktopMoudules文件夹.


12 增加页面项目

2)        重新设置项目的属性.


13 设置项目属性

这里要查看下该项目下是否有web.Config文件,有的话就删掉,以免跟网站的配置文件矛盾.

3)        增加页面.

增加页面ViewStudent.ascx,操作跟前面类似.下面贴出代码.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ViewStudent.ascx.cs" Inherits="FirstModule.ViewStudent" %>
<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;
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();
            }
        }
    }
}

   public IList<student> QueryAll()
        {
            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.有空一定为你解答.

posted @ 2012-01-10 13:13  李福春  阅读(4862)  评论(6编辑  收藏  举报